자료구조

LinkedHashSet

hongs429 2023. 6. 15. 07:46
728x90

개념

Set 타입들이 가지고 있는 특징은,

  • 중복을 허용하지 않는다.
  • 값을 넣은 순서를 보장하지 않는다.

LinkedHashSet의 경우, 중복을 허용하지 않으면서 값을 넣은 순서를 보장해주는 자료구조이다.

import java.util.HashSet;
import java.util.LinkedHashSet;

public class LinkedHashSetMain {
    public static void main(String[] args) {


        LinkedHashSet<String> linkedHashSet = new LinkedHashSet<>();
        HashSet<String> set = new HashSet<>();

        linkedHashSet.add("가");
        linkedHashSet.add("나");
        linkedHashSet.add("다");
        linkedHashSet.add("2");
        linkedHashSet.add("5");
        linkedHashSet.add("4");
        linkedHashSet.add("김");

        set.add("가");
        set.add("나");
        set.add("다");
        set.add("2");
        set.add("5");
        set.add("4");
        set.add("김");

        System.out.println("linkedHashSet = " + linkedHashSet);
        System.out.println("set = " + set);
    }
}
>> 결과

linkedHashSet = [가, 나, 다, 2, 5, 4, 홍승현]
set = [가, 2, 다, 4, 홍승현, 5, 나]

 

출력

System.out.println("HashSet");
Iterator<String> setIter = set.iterator();
while (setIter.hasNext()) {
    System.out.print(setIter.next() + " ");
}
System.out.println();
System.out.println("linkedHashSet");
for (String e : linkedHashSet) {
    System.out.print(e + " ");
}
HashSet
가 김 2 다 4 5 나
linkedHashSet
가 나 다 2 5 4 김