Arrays
Arrays.asList()
- 배열을 리스트로 반환한다
- 리스트를 변경하면 배열도 변경된다
- 요소의 변경이 불가하다 (add, remove)
- 컬렉션을 받는 메소드에 배열을 넘길때... 사용된다
List
ArrayList
- 배열과 다르게, 저장되는 데이터의 개수에 따라 자동적으로 크기가 변경된다
- 인덱스로 원소에 접근할 때 좋은 성능을 보인다
- 원소를 추가/삭제할 때 성능이 좋지 않다
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.set(0, 4);
list.remove(1);
list.get(0);
list.size();
list.indexOf(4);
list.add(4);
list.lastIndexOf(4);
LinkedList
- 원소의 추가/삭제에 좋은 성능을 보인다
- 인덱스로 원소에 접근할 때 성능이 좋지 않다
Vector
Map
HashMap
Map<Integer, String> map = new Map<Integer, String>();
map.put(10, "kim");
map.put(7266, "lee");
map.size();
map.containsKey(10);
map.isEmpty();
map.get(10);
map.remove(10);
TreeMap
LinkedHashMap
Set
HashSet
- hash table을 사용한다
- 원소들의 순서가 일정하지 않다
TreeSet
- red-black tree를 사용한다
- 값에 따라 순서가 결정된다
- HashSet보다 느리다
LinkedHashSet
- hash table + linked list 를 사용한다
- 삽입된 순서대로 순서가 결정된다
Queue
Queue<Integer> queue = new Queue<Integer>();
queue.add(1);
queue.remove();
queue.element();
PriorityQueue
Iterator
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
Iterator e = list.iterator();
while (e.hasNext()) {
System.out.println((String)e.next())
e.remove()
}
ListIterator