본문 바로가기
Language/java

[Java] 컬렉션 프레임윅 (HashSet)

by gamxong 2022. 7. 27.

HastSet

: Set인터페이스를 구현한 가장 대표적인 컬렉션

: 중복된 요소를 저장하지 않는다.

: 저장순서를 유지하고자 한다면 LinkedHastSet을 사용

 

import java.util.*;

class HastSetEx1 {
	public static void main(String[] args) {
    	Object[] objArr = {"1", new Integer(1), "2", "2", "3", "3", "4", "4", "4"};
        Set set = new HastSet();
        
        for(int i=0; i < objArr.length; i++) {
        	set.add(ObjArr[i]);
        }
        
        system.out.println(set);
    }
}

// result > [1, 1, 2, 3, 4] (String 1 and Integer 1)

 

 

import java.util.*;

class HashSetEx4 {
	public static void main(String[] args) {
    	HashSet set = new HastSet();
        
        set.add(new String("abc"));
        set.add(new String("abc"));
        set.add(new Person2("David",10)); 
        set.add(new Person2("David",10));
		
        System.out.println(set);
    }
}

class Person2 {
	String name;
    int age;
    
    Person2(String name, int age) {
    	this.name = name;
        this.age = age;
    }
    
    public boolean equals(Object obj) {
    	if(obj instanceof Person2) {
        	Person2 tmp = (Person2)obj;
            return name.equals(tmp.name) && age==tmp.age;
        }
        
        return false;
    }
    
    public int hashCode() {
    	return (name+age).hashCode();
    }
    
    public String toString() {
    	return name +":"+ age;
    }
}

// result > [abc, David:10]

 

댓글