자바 컬렉션 프레임워크(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

+ Recent posts