티스토리 뷰

Java/개념

JAVA/CollectionFramework/HashSet

정복잉 2020. 5. 30. 03:06
반응형
package day18;

import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;

public class Test06 {
	public static void main(String[] args) {
		Object[] obj = {"1", new Integer(1),"2","2","3","3","4","4"};
		Set set = new HashSet();
		
		for(Object i :obj) {
			set.add(i);
		}
		System.out.println(set);
	}

}

package day18;

import java.util.HashSet;
import java.util.Set;

public class Test10 {
	public static void main(String[] args) {
		Set setA = new HashSet();
		Set setB = new HashSet();
		Set<String> setC = new HashSet<String>();
		
		setA.add("apple");
		setA.add("banana");
		setA.add("wattermelon");
		setA.add("ogange");
		
		setB.add("apple");
		setB.add("ogange");
		setA.add("peach");
		
		System.out.println("A : "+setA);
		System.out.println("B : "+setB);
		setA.addAll(setB);
		System.out.println("addAll : 합집합 "+setA);
		setA.retainAll(setB);
		System.out.println("retainAll : 교집합 "+setA);
		setA.removeAll(setB);
     	System.out.println("removeAll : 차집합 "+setA);
	}

}

package day18;

import java.util.HashSet;
import java.util.Set;

public class Test09 {
	public static void main(String[] args) {
	
		Set set = new HashSet();
		set.add(new String("abc"));
		set.add(new String("abc"));
		set.add(new Preson("Bada",10));
		set.add(new Preson("Bada",10));
		
		System.out.println(set);
	}
}
class Preson{
	String name;
	int age;
	
	public Preson(String name,int age) {
		this.name = name;
		this.age = age;
	}
	
	@Override
	public String toString() {
		return  name + ":" + age ;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + age;
		result = prime * result + ((name == null) ? 0 : name.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Preson other = (Preson) obj;
		if (age != other.age)
			return false;
		if (name == null) {
			if (other.name != null)
				return false;
		} else if (!name.equals(other.name))
			return false;
		return true;
	}
	
}

#개념정리

 

Set?

순서가 유지되지 않으며, 중복이 허용되지 않는 집합

set.add = 객체추가

set.remove = 객체 삭제

set.addAll(set1) = 합집합

set.retainAll(set1) = 교집합

set.removeAll(set1) = 차집합

 

equals와hashCode를 통해 중복값 없애기

 

1.생성자 만들기

 

2.equals와hashCode 만들기(Overrding)

Alt+Shift+s 누르고 Generate hashCode and equale 클릭

 

3.toString 만들기

toString을 통해 출력할 것 만들기

'Java > 개념' 카테고리의 다른 글

JAVA/HashSet과TreeSet와LinkedHashSet의 비교  (0) 2020.05.30
JAVA/CollectionFramework/TreeSet  (0) 2020.05.30
JAVA/Stack와Queue  (0) 2020.05.29
JAVA/ArrayList와LinkedList/Iterator/for-each  (0) 2020.05.29
JAVA/CollectionFramework/LinkedList  (0) 2020.05.29
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2024/10   »
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
글 보관함