Java Collection framework & List, Set, Map Interface

Collection Framework

Collection Framework는 데이터를 위한 자료 구조 및 알고리즘을 구조화하여 만들어 구현해 놓은 것이다.

인터페이스로 구현된 이유는 구현하고 있는 클래스에서만 수정을 하면 되기 때문이다. 상속으로 연결이 되어있다면 거치는 클래스에서 매번 수정을 해야하지 않을까 생각한다. 결국 재사용성과 연관되어 있지 않을까???

스택오버 플로우 추상클래스가 아니고 인터페이스로 구현된 이유

1. 주요 인터페이스 특징

2. 주요 메소드

Collection Framework의 주요 인터페이스

1.List;

List<Integer> list = new ArrayList<>()
list.add(1) list.add(2) list.add(3)

for(int i=0 ; i<list.size() ; i++)
    list.get(i)

Collections.sort(list)

list.remove(1);
LinkedList<Integer> list = new LinkedList<>();
list.add(4) list.add(2) list.add(3)

list.remove(1);
print(list.get(0))
list.set(0, 4)
Stack<Integer> s = new Stack<>();

s.push(1);
s.push(4);

s.pop();
if(!s.isEmpty()) s.pop();
Queue<Integer> s = new LinkedList();

s.add(1);
s.add(4);

while(!s.isEmpty()) {
    Integer val = s.poll();
    System.out.println(val);
}

2.Set

HashSet<String> hs = new HashSet<>();

hs.add("1");
hs.add("2");
hs.add("3");

Iterator<String> it = hs.iterator();

while (it.hasNext()) {
    System.out.println(it.next());
}
TreeSet<Integer> ts = new TreeSet<>();

ts.add(1);
ts.add(3);
ts.add(2);

Iterator<Integer> it = ts.iterator();

while (it.hasNext()) {
    System.out.println(it.next()); //정렬되어 1->2->3 출력
}

3.Map

HashMap<String, Integer> hm = new HashMap<>();

hm.put("1", 1);
hm.put("2", 11);
hm.put("3", 111);
hm.put("4", 1111);

for(String key : hm.keySet())
    System.out.println(key + " " + hm.get(key));

hm.remove("1");

System.out.println("size : " + hm.size());

Iterator<String> keys = hm.keySet().iterator();
while(keys.hasNext()) {
    String key = keys.next();
    System.out.println(key + " " + hm.get(key));
}

결론



Related Posts