자바 컬렉션 프레임워크(JCF: Java Collection Framework)
-자바에서 데이터 처리 표준화 방법을 제공하는 클래스의 집합
-데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현
1. List 인터페이스
-순서가 있는 data의 집합
-데이터 중복 허용
1)LinkedList
-양방향 포인터 구조, data의 삽입, 삭제 시 위치정보만 수정하면 되기에 유용
-스택, 큐, 양방향 큐 등의 용도
2)ArrayList
-단방향 포인터 구조, 데이터에 대한 인덱스를 가지고 있어 조회 시 성능 우수
//ArrayList 객체 생성
ArrayList<String> list = new ArrayList<String>();
//데이터 추가
list.add("피카츄");
list.add("꼬부기");
list.add(1, "라이츄");
list.set(2, "파이리");
//데이터 추출
String str=list.get(0); //피카츄
//데이터 제거
list.remove(2);
//데이터 전체 제거
list.clear();
//데이터 유무
boolean b = list.isEmpty(); //전체 비어있으면 True 값 반환
3)Vector
-과거 대용량 처리 위해 사용, 내부의 자동 동기화처리로 비교적 성능 나쁘고 무거워 잘 사용 안함
2. Set 인터페이스
-순서 없는 데이터의 집합
-데이터 중복 허용 안함
3. Map 인터페이스
-key, value의 쌍으로 구성된 data의 집합
-순서 없고, key의 중복X, value 중복O
-key 없이 value만 저장 못함, key만 저장 가능
1)Hashtable
-HashMap보다 느리지만 동기화 지원
-null 불가
2)HashMap
-중복과 순서가 허용되지 않으며 null 가능
//HashMap 객체 생성
HashMap<Integer, String> map = new HashMap<Integer, String>();
//데이터 추가
map.put(2, "피카츄");
map.put(3, "라이이츄");
map.put(4, "파이리");
//데이터 교체
map.put(3, "라이츄");
//데이터 추출
String str = map.get(3);
//데이터 제거
map.remove(4);
//특정 데이터 포함유무
boolean a = map.containsKey(2);
boolean b = map.containsValue("꼬부기");
//데이터 전체 제거
map.clear();
//데이터 유무
boolean c = map.isEmpty();
3)TreeMap
-정렬된 순서대로 키(key)와 값(Value)를 저장하여 검색속도 빠름
'JAVA > 2' 카테고리의 다른 글
[JAVA] string <-> int 변환 (0) | 2020.02.10 |
---|---|
[JAVA] 랜덤값 구하기 (0) | 2020.02.09 |
[JAVA] 현재 시간 구하기 (0) | 2020.02.08 |
[JAVA] String / StringBuilder / StringBuffer 차이 (0) | 2020.01.15 |
java에서 while(1) while(0) (0) | 2020.01.06 |