List
- 내부구현이 배열로 되어있고, 특정 동일 공간에 뭉텅이로 저장되어 저장속도가 빠르며, 순차적으로 데이터를 저장함 , 중복데이터 또한 저장 가능
ArrayList vs LinkedList
- ArrayList는 객체 내부에 있는 배열에 데이터를 저장하여 상당히 빠르고 크기를 맘대로 조절할 수 있는 배열이며, 순차적인 접근에 강점이 있다.
- LinkedList는 양방향 포인터 구조로 데이터의 삽입,삭제가 빈번할 경우 빠른 성능을 보장한다. 스택, 큐 등을 만들기 위한 용도로 쓰이며 Iterlator 사용한다.
Map
- Map에 아이템을 저장할때마다, 빈공간을 찾아 저장하여 데이터 저장속도가 비교적 느리며,Key왜 value값을 이용하여 저장한다.
HashTable vs HashMap vs LinkedHashMap vs treeMap
- HashTable : 동기화를 지원하는 맵, Key와 value로 null 허용되지 않는다.
- HashMap :순서를 보장하지 않는 맵, Key와 value로 null 허용된다.
- LinkedHashMap : 들어간 순서대로 저장되는 맵
- treeMap : 이진 검색 tree 구조의 맵, 저장시 key기준으로 오름차순 저장된다.
HashMap vs ConcurrentHashMap

1) Thread 안정성: Hashmap<ConcurrentHashMap
2) Null : Hash Map O / ConcurrentHashMap X
3) Iterators : hashmap -> 속도가 빠름 ConcurrentHashMap -> 예외 발생하지 않음
4) HashMap 단일 쓰레드 / ConcurrentHashMap 멀티 쓰레드