List는 중복을 허용하고 저장 순서를 유지합니다.

Set은 중복을 허용하지 않고 저장 순서를 유지하지 않습니다.


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
32
33
34
35
36
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
 
 
public class ListAndSet {
    public static void main(String[] args){
        HashSet<String> hs = new HashSet<String>();
        hs.add("Tomato");
        hs.add("Grape");
        hs.add("Peach");
        hs.add("Orange");
        hs.add("Grape");
        
        Iterator<String> hs_i = hs.iterator();
        
        System.out.println("HashSet의 출력결과");
        while(hs_i.hasNext()){            
            System.out.println(hs_i.next());
        }
        
        ArrayList<String> al = new ArrayList<String>();
        al.add("Tomato");
        al.add("Grape");
        al.add("Peach");
        al.add("Orange");
        al.add("Grape");
        
        Iterator<String> al_i = al.iterator();
        
        System.out.println("\nArrayList의 출력결과");
        while(al_i.hasNext()){            
            System.out.println(al_i.next());
        }
    }
}
cs



-결과-



결과를 보시면 알 수 있듯이 Set은 저장순서대로 출력이 되지 않고 Grape를 두개 넣었음에도 하나만 저장된 것을 확인 할 수 있습니다.

반대로 List는 저장순서대로 출력이 되고 중복을 허용해서 Grape도 두개가 저장된 것을 확인 할 수 있습니다.