Item 40. @Override
class Bigram {
private final char first;
private final char second;
public Bigram(char first, char second) {
this.first = first;
this.second = second;
}
// ์ฌ์ ์ํ ๊ฒ์ด ์๋ ์๋ก์ด ๋ฉ์๋๋ฅผ ์ ์ํ ๊ฒ์ด ๋จ
public boolean equals(Bigram b) { // Object์ equals๋ฅผ ์ฌ์ ์ํ๊ธฐ ์ํด์ ๋งค๊ฐ๋ณ์ ํ์
์ Object๋ก ํด์ผํจ
return b.first == first && b.second == second;
}
public int hashCode() {
return 31 * first + second;
}
}
class Main {
public static void main(String[] args) {
Set<Bigram> s = new HashSet<>();
for (int i = 0; i < 10; i++) {
for (char ch = 'a'; ch <= 'z'; ch++) {
s.add(new Bigram(ch, ch)); // ์ ๋ถ ๋ค๋ฅธ Bigram ๊ฐ์ฒด๋ก ์ธ์ํ์ฌ ์ด 26 * 10 = 260๊ฐ์ ๊ฐ์ฒด๊ฐ ์์ฑ๋จ
}
}
System.out.println(s.size()); // ๊ธฐ๋ํ๋ ๊ฐ 26, ์ค์ ๊ฐ 260
}
}๊ฒฐ๋ก
Last updated