gnu

블로그 이미지
by 군우

TAG CLOUD

  • Total hit
  • Today hit
  • Yesterday hit

hashCode 와 equals 오버라이딩을 통해서 

데이터가 입력되는 두개의 값이 둘다 같아야 중복 허용하는

해쉬알고리즘 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package framework22;
 
import java.util.HashSet;
import java.util.Iterator;
 
public class HashTest1 {
    public static void main(String[] args)
    {
        HashSet<Person> hSet = new HashSet<Person>();
        hSet.add(new Person("김김김"10));
        hSet.add(new Person("김김김"10));
        hSet.add(new Person("김이"13));
        hSet.add(new Person("김이"12));
        hSet.add(new Person("김"12));
        
        
        System.out.println("저장된 데이터 수: "+ hSet.size());
        
        Iterator<Person> itr = hSet.iterator();
        while(itr.hasNext())
            System.out.println(itr.next());
    }
}
cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package framework22;
import java.util.HashSet;
import java.util.Iterator;
 
public class Person {
    String name;
    int age;
    
    public Person(String name, int age)
    {
        this.name = name;
        this.age = age;
    }
    public String toString()
    {
        return name+"("+age+"세)";
    }
    public int hashCode()
    {
        return age%3;
    }
    public boolean equals(Object obj)
    {
        Person per = (Person)obj;
        if(per.name == name){
            if(per.age ==age){    return true;    }
            else {return false; }
        }
        else{    return false;    }
    }
}
cs


1
2
3
4
5
6
//출력값
저장된 데이터 수: 4
김이(12세)
김(12세)
김김김(10세)
김이(13세)
cs


'Java > Java Concept' 카테고리의 다른 글

[Java] TreeMap  (0) 2018.03.13
[Java] TreeSet<E>  (0) 2018.03.13
[Java] LinkedList  (0) 2018.03.12
[Java] framework Arraylist  (0) 2018.03.12
[Java] 제네릭클래스의 와일드카드 이용하기.  (0) 2018.03.12
AND

ARTICLE CATEGORY

분류 전체보기 (197)
C (0)
HTML (7)
C# (88)
Python (27)
IT (0)
Android (2)
Java (65)
Study (5)
JavaScript (1)
JSP (2)

RECENT ARTICLE

RECENT COMMENT

CALENDAR

«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

ARCHIVE

LINK