반응형

 

 

인터페이스 Collection <- (List, Set)

 

✔ 전체

clear()

isEmpty()

equals(Collection)

List<Integer> list1 = new ArrayList<>();
list1 = Arrays.asList(1,2,3);
System.out.println(list1.equals(Arrays.asList(1,2,3))); // true

 

✔ 요소

add(Object)

addAll(Collection)

remove(Object)

removeAll(Collection)

retainAll(Collection)

//removeAll
Collection<Integer> list1 = new ArrayList<>(Arrays.asList(1,2,3));
Collection<Integer> list2 = new ArrayList<>(Arrays.asList(1,2));
list1.removeAll(list2);
System.out.println(list1); // 3

//retainAll
Collection<Integer> list3 = new ArrayList<>(Arrays.asList(1,2,3));
Collection<Integer> list4 = new ArrayList<>(Arrays.asList(1,2));
list3.retainAll(list4);
System.out.println(list3); // 1, 2

 

✔ 변환

toArray()

iterator()

 

 


인터페이스 List <- (ArrayList, LinkedList)

 

✔ 요소

add(Object)

get(idx)

set(idx, Object)

remove(Object)

 

✔ 조회

contains(Object)

indexOf(Object)

lastIndexOf(Object)

 

✔ 정렬, 서브리스트

sort(Comparator)

subList(idx start, idx end)

 


구현체 ArrayList

 

Collection, List 메서드를 구현

배열을 이용해서 구현했기 때문에 위치 삽입, 삭제시 시간이 소모 된다.

대신 idx를 이용한 조회는 O(1)

 

ensureCapacity(N)

trimToSize()

 

add(idx, Object)

 

 

 


구현체 LinkedList

 

Collection, List 메서드를 구현

양쪽 노드를 참조하는 참조값으로 구현했기 때문에 위치를 알고 있다면 삽입, 삭제시 빠르다.

대신 idx를 이용한 조회는 O(n)

 

Queue의 구현체로 이용됨

isEmpty()

 

peek()

peekFirst()

peekLast()

 

offer(Object)

offerFirst(Object)

offerLast(Object)

 

poll()

pollFirst()

pollLast()

 

 

 

 

 

 



 

인터페이스 Set <- (HashSet, TreeSet)

 

✔ 요소

add(Object)

remove(Object)

 

✔ 조회

contains(Object)

 


구현체 HashSet

 

중복을 판단하기 위해 equals(), hashCode()를 호출한다.

 

 

 


구현체 TreeSet

 

레드 - 블랙트리로 구현되어 있다.

정렬된 위치에 Object를 저장한다. 정렬되어 있기 때문에 조회, 범위 조회에서 이점을 갖는다.

정렬을 위해 Comparator를 생성자에 부여하거나, Object가 Comparable을 구현하고 있어야 한다.

 

 

✔ 단일 조회

first()

last()

 

higher(Object)

ceiling(Object) - Object 포함 검색

floor(Object) - Object 포함 검색

lower(Object)

 

✔ 범위 조회

headSet(Object) - Object가 head(가장 큰 값)

headSet(Object, boolean) - Object를 포함할지 boolean으로 결정

 

tailSet(Object) - Object가 tail(가장 작은 값)

tailSet(Object, boolean) - Object를 포함할지 boolean으로 결정

 

subSet(Object , Object)

subSet(Object, boolean, Object, boolean) - Object를 포함할지 boolean으로 결정

 

 

 

 

 

 

 

 

 



인터페이스 Map

 

전체

clear()

isEmpty()

size()

 

요소

get(key)

put(key, value)

remove(key)

 

✔ 조회

containsKey(key)

containsValue(value)

 

✔ 변환

keySet()

values()

entrySet()

 

 

인터페이스 Map.Entry

 

getKey()

getValue()

setValue(value)

 


구현체 HashMap

 

getOrDefault(key, value) - 키가 있다면 value반환, 없다면 매개변수 value로 생성, 반환

 

 


구현체 TreeMap

 

하나를 찾을 경우 반환은 Entry, Key (메서드 접미사로 지정)

범위로 찾을 경우 반환은 Map

정렬을 위해 Comparator를 생성자에 부여하거나, Object가 Comparable을 구현하고 있어야 한다.

 

 

 

✔ 조회 - Entry, Key

 

firstEntry(key)

firstKey(key)

lastEntry(key)

lastKey(key)

 


 

키를 포함하지 않고 검색

higherEntry(key)

higherKey(key)

 

키를 포함하여 검색

ceilingEntry(key)

ceilingKey(key)

 

키를 포함하여 검색

floorEntry(key)

floorKey(key)

 

키를 포함하지 않고 검색

lowerEntry(key)

lowerKey(key)

 

 

✔ 범위 조회 - Map

 

headMap(key)

headMap(key, boolean)

 

tailMap(key)

tailMap(key, boolean)

 

subMap(key, key)

subMap(key, boolean, key, boolean)

반응형

+ Recent posts