티스토리 뷰
List
ArrayList : 배열(Array)의 향상된 버전 또는 가변 크기의 배열이라고 생각하면 된다.
- List중 가장 많이 사용된다.
- 배열과 같이 인덱스로 접근할 수 있다.
- 배열과 달리 생성된 후에 동적으로 크기를 증가 시키거나 감소시킬 수 있다.
- 배열의 복사에 의한 데이터 저장처리를 내부적으로 행하며, 각 데이터에 대한 인덱스를 가지고 있기 때문에 검색이 매우 빠르지만 많은 데이터의 추가/삭제 시에는 배열의 복사가 빈번하게 일어나 성능이 떨어지는 단점이 있다.
- 쓰레드 동기화를 지원하지 안는다.
LinkedList : 빈번하게 삽입과 삭제가 일어나는 경우에 사용한다.
- 다음 자료의 위치정보를 가지며, 내부적인 인덱스 가지고 있지 안다.
데이터의 추가 / 삭제는 위치정보의 수정 만으로 가능하기 때문에(연결 리스트 중간에 삽입 하려면 링크만 수정하면 된다.) 많은 정보의 추가 / 삭제 처리가 필요할때 유용하지만 데이터가 많은 경우의 검색시 처음 자료부터 순차적으로 찾아 나가야 하기 때문에 느려지는 단점이 있다.
- 다음 자료의 위치정보를 가지며, 내부적인 인덱스 가지고 있지 안다.
데이터의 추가 / 삭제는 위치정보의 수정 만으로 가능하기 때문에(연결 리스트 중간에 삽입 하려면 링크만 수정하면 된다.) 많은 정보의 추가 / 삭제 처리가 필요할때 유용하지만 데이터가 많은 경우의 검색시 처음 자료부터 순차적으로 찾아 나가야 하기 때문에 느려지는 단점이 있다.
Vector
- 배열과 같이 정수 인덱스로 접근할 수 있다.
- 배열과 달리 생성된 후에 동적으로 크기를 증가 시키거나 감소시킬 수 있다.
- 쓰레드 동기화를 지원한다. 때문에 성능이 ArrayList, LinkedList 보다 떨어진다.
Stack
- Vector를 상속받는 LIFO형태의 자료형
Map
HashMap
- Map중 가장 많이 사용된다.
- 정렬기능을 지원하지 않는다.
- key, value형태의 Map 인터페이스를 구현하고 있고, key, value값은 null을 가질 수 있다.
- 중복되지 안는다.
- 쓰레드 동기화를 지원하지 안는다. 때문에 HashTable 보다 안정성은 떨어지지만 속도는 빠르다.
HashTable
- 정렬기능을 가지지 안는다.
- key, value형태의 Map 인터페이스를 구현하고 있고, key, value값은 null을 가질 수 없다.
- key는 중복되지 않는다.
- 쓰레드 동기화를 지원한다. 때문에 HashMap 보다 안정성은 높지만 속도는 느리다.
TreeMap
- 정렬기능을 지원한다.
- 쓰레드 동기화를 지원한다.
Set
HashSet
- Set중 가장 많이 사용된다.
- Set 인터페이스를 구현하고 있으며, 내부적으로 HashMap을 사용한다.
- 정렬되지 안는다.
- 저장 및 검색에 일정한 시간이 필요하다.(해시알고리즘 적용 및 해시값 검색)
TreeSet
- Set 인터페이스를 구현하고 있고, 내부적으로 TreeMap을 사용한다.
- 기본적으로 오름차순 으로 정렬된다.
OTHERS
Array :
- 정수 인덱스로 접근할 수 있다.
- 정수 인덱스로 접근할 수 있다.
- 크기가 고정된다.
Queue : FIFO형태의 자료형
GUAVA
MultiMap
- java자료구조의 map과 비슷하나 value가 Collection으로 저장된다. 때문에 MultiMap에 put하는 key가 중복될 경우 key는 단일키로 저장되고, put하는 value는 MultiMap의 value에 있는 Collection으로 들어간다.
- EX :
HashBasedTable
- java자료구조의 Map과 비슷하나 key를 2개를 입력할 수 있다. 나머지는 Map과 동일하게 사용할 수 있다.
- EX :
'Programming > Java' 카테고리의 다른 글
JMX - mBean (2) | 2018.11.15 |
---|---|
StringBuffer, StringBuilder (0) | 2016.08.23 |
Generic (0) | 2016.08.22 |
Static (0) | 2016.08.21 |
Java Memory Structure (3) | 2016.08.20 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- java Equals
- 복합키 Mapping
- guava
- RetryTemplate
- DI
- Charles proxy
- scikit-learn
- spring spel
- @Primary
- Spring
- Spring JDBC Template
- Embeddable Mapping
- SmartLifecycle
- Registrar
- Join Table
- Property
- Sprint RetryTemplate
- Query DSL
- Typesafe Config
- Criteria
- java EqualsAndHashCode
- Embedded Mapping
- Discriminate Mapping
- JPA
- Spring Registrar
- JPA Criteria
- java generic
- Akka
- docker
- Mapping
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함