set

    [Java] Set Collection (HashSet, TreeSet, LinkedHashSet)

    Set은 List와 더불어 엄청 자주쓰이는 인터페이스입니다. 둘다 Collection 인터페이스를 기반으로 구현한 클래스이고 List는 선형 자료구조를 구현한 클래스, Set은 비선형 자료를 구현한 클래스로 사용됩니다. 오늘은 Set의 인터페이스를 구현한 HashSet, TreeSet, LinkedHashSet에 대해서 알아보겠습니다 HashSet 가장 일반적으로 많이 쓰이는 자료구조입니다. 해싱을 사용하여 데이터를 주소에 저장합니다 데이터의 중복을 허용하지 않습니다 데이터의 저장 순서를 보장하지 않습니다 탐색비용은 O(1)로 검색으로 사용하기에 가장 빠릅니다. TreeSet 이진탐색트리의 형태로 데이터를 저장하는 컬렉션입니다. 이진탐색트리 중에서도 성능을 향상시킨 'red-black tree'로 구현되..

    [Java] HashSet 합집합 add(), addAll() 시 UnsupportedOperationException 날 경우

    HashSet을 합치려고 시도하다가 UnsupportedOperationException 를 마주했다. 해결 후 기록으로 남겨두면 좋을 것 같아서 여기에 남긴다. 예를 들어 코드가 이런식이다. 코드: Map hashMap1 = new HashMap(); Map hashMap2 = new HashMap(); Set mySet1 = new HashSet(); Set mySet2 = new HashSet(); hashMap1 = (맵1 불러오기 코드) hashMap2 = (맵2 불러오기 코드) mySet1 = hashMap1.keySet() mySet2 = hashMap2.keySet() mySet1.addAll(mySet2); // 오류 오류메시지: java.lang.UnsupportedOperationEx..