(Java)Set(HashSet) 사용하기

DevSeoRex·2022년 5월 31일
0

Java

목록 보기
9/15

오늘은 첫시간에 Java의 Collection Framework중 하나인 set을 사용해보았다.

어제 사용해본 List와 Stack & Queue와 비슷한 느낌이다.
메서드는 add() , contain(), containsAll(), retainAll()
등을 사용해보았고, 어제 사용한 clear()과 같이 전체 삭제메서드도 사용해 보았고, iterator() 메서드를 이용해서 요소를 전부 뽑아내는 것은 거의 비슷했기에 간단히 실습해 보았다.

Set은 순서와 상관없이 삽입된다는 것을 알수 있었다.

public class JavaEx31 {
	public static void main(String[] args) {	
		// 순서(index) (X)
		// 요소 중복 불허용 !
		Set<String> set = new HashSet<>();	
		set.add("java");
		set.add("java");
		set.add("c");
		set.add("python");
		set.add("python");
		set.add("c++");
		set.add("JSP");		
		Set<String> set2 = new HashSet<>();		
		set.add("java");
		set.add("java");
		set.add("c");
		set.add("python");
		set.add("python");
		set.add("c++");
		set.add("JSP");		
		System.out.println("set의 크기 : " + set.size());		
//		 Set => List
//		List<String> list = new ArrayList<>();
//		list.addAll(set);		
//		전체 요소 나열(조회)
		for(String s : set) {
			System.out.print(s + " ");
		}		
		System.out.println();		
		Iterator<String> it = set.iterator();
		while(it.hasNext()) {
			System.out.print(it.next() + " ");
		}		
		System.out.println();		
		set.forEach(x -> System.out.print(x + " "));
//		set.forEach(System.out::print);		
		System.out.println();		
//		요소 포함 여부
		System.out.println("요소 포함 여부 : " + 
					set.contains("java"));		
		System.out.println("요소 포함 여부 : " + 					set.containsAll(Arrays.asList("java","JSP")));
		System.out.println("요소 포함 여부 : " + 					set.containsAll(Arrays.asList("java","Servlet")));		
		System.out.println("동등 여부 : " + set.equals(set2));		
//		요소의 삭제
//		System.out.println(set.remove("java"));	
//		System.out.println(set.removeAll(Arrays.asList("java","python")));		
//		set.clear();		
//		교집합(공통요소)만 남김
//		set.retainAll(Arrays.asList("java","python","Servlet"));
//		set.forEach(x -> System.out.print(x + " "));		
//		배열로 치환
		String[] strArr = new String[set.size()];
		strArr = set.toArray(strArr);		
		System.out.println("첫번째 요소 : " + strArr[0]);						
	}
}

0개의 댓글