JDK1.2부터 컬렉션 프레임웍이 등장하며 다양한 종류의 컬렉션 클래스가 추가되어 표준화된 방식으로 다룰 수 있도록 체계화되었다.
https://standout.tistory.com/127
List인터페이스
List인터페이스는 중복을 허용하면서 저장순서가 유지되는 컬렉션을 구현할 수 있다.
https://standout.tistory.com/1366
Set인터페이스
Set인터페이스는 중복을 허용하지않고 저장순서가 유지되지않는 컬렉션 클래스를 구현한다.
https://standout.tistory.com/1367
Map인터페이스
Map인터페이스는 키과 값을 하나의 쌍으로 묵어서 저장하는 컬렉션 클래스
키는 중복될 수 없지만 값은 중복을 허용한다.
https://standout.tistory.com/1368
ArrayList 클래스
데이터의 저장순서가 유지되고 중복을 허용한다.
https://standout.tistory.com/1369
LinkedList
모든 데이터가 서로 link한 형태로 구성되어있다.
https://standout.tistory.com/1370
Stack과 Queue
스택은 마지막에 저장한 데이터를 가장 먼저 꺼내는 LIFO
큐는 처음에 저장한 데이터를 가장 먼저 꺼내게 되는 FIFO
스텍에는 ArrayList와같은 배열기반, 큐는 LinkedList로 구현하는 것이 적합하다.
https://standout.tistory.com/1371
Iterator, Listterator, Enumeration 모
두 컬렉션에 저장된 요소를 접근하는데 사용되는 인터페이스.
Enumeration 은 Iterator의 구버전
Listterator은 Iterator의 기능을 향상시킨것.
https://standout.tistory.com/1372
Arrays
배열을 다루는데 유용한 메서드
https://standout.tistory.com/1373
Compartator와 Comparable 인터페이스
정렬에 필요한 메서드를 정의할 수 있다.
활용함으로써 다양한 정렬 요구에 대응할 수 있다.
https://standout.tistory.com/1374
HashSet
HashSet은 Set인터페이스를 구현한 대표적인 컬렉션
HashSet은 저장순서를 유지하지않음으로 저장순서를 유지하려면 LinkedHashSet을 사용한다.
https://standout.tistory.com/1375
TreeSet
TreeSet은 검색트리의 자료구조 형태로 데이터를 저장하는 컬렉션 클래스.
정렬, 검색, 범위검색에 높은 성능을 보인다.
https://standout.tistory.com/1376
HashMap과 HashTable
HashTable 보다 새버전인 HashMap을 사용할것을 권장한다.
Map의 특징, 키와 값을 묶어서 하나의 데이터를 저장한다는 특징을 갖는다.
https://standout.tistory.com/1377
HashMap이 TreeMap보다 검색에 관한한 대부분의 경우에서뛰어나기에 HashMap을 사용하는것이 좋으나
범위검색이나 정렬이 필요한 경우에는 TreeMap을 사용하자.
https://standout.tistory.com/1379
Properties
HashMap의 구버전인 Hashtable을 상속받아 구현한것.
키와값을 (Object, Object)로 저장하는데 비해 Properties는 (String, String)의 형태로 저장하는 단순화된 컬렉션클래스.
주로 환경설정과 같은 속성 저장하는데 사용
https://standout.tistory.com/1380
Collections
Collections는 컬렉션과 관련된 메서드를 제공한다.
컬렉션의 동기화, 변경불가 컬렉션, 싱글톤 컬렉션, 한 종류의 객체만 저장하는 컬렉션이 있다.
https://standout.tistory.com/1381
'이론' 카테고리의 다른 글
PM2, 애플리케이션을 관리하고 실행하는 프로세스 매니저 (0) | 2024.02.14 |
---|---|
npm 패키지매니저: 외부 라이브러리나 모듈을 쉽게 설치하고 관리 (0) | 2024.02.14 |
중복을 허용하지않고 저장순서가 유지되지않는 컬렉션 클래스, Set (0) | 2024.02.05 |
자바의 정석 Chapter10: 날짜와 시간 & 형식화 date, time and formating (0) | 2024.02.02 |
스토리지 종류: 블록, 파일, 객체, 아카이브 (0) | 2024.01.26 |