컬렉션 프레임 워크란?
데이터 집합을 저장하는 표준화된 클래스를 말합니다. ^^
컬렉션 프레임워크에 핵심 인터페이스는 세 가지로 분류 됩니다.
List - 순서가 있는 데이터/중복을 허용한다.
Set - 순서를 유지하지 않는 집합/ 중복을 허용하지 않는다.
Map - 키와 값으로 저장/값만 중복 가능, 순서 유지하지 않는다.
Vector , ArrayList를 가장 많이 사용하는데 차이점이 존재 합니다.
모두 비슷하지만, 차이점으로는 Vector는 멀티쓰레드에 대해 동기화 처리가 되고, ArrayList는 동기화 처리를 하지 않는다.
-이 부분은 지금 중요한 논의가 아니다. 퍼포먼스와 관련있다.
공통점은 배열기반이란 점! 그리고 List 인터페이스를 상속받아 구현한 점!
ArrayList
1 2 3 4 5 6 7 8 9 10 11 12 | public class ArrList { public static void main(String[] args) { ArrayList arr_list = new ArrayList(10); arr_list.add(1); System.out.println(arr_list); arr_list.add(3); arr_list.add(34); System.out.println(arr_list); //저장 순서를 유지한다. } } | cs |
HashSet
- 내부적으로는 HashMap을 이용하여 구현함.
특징 : 중복 N0N-허용, 순서 유지 하지 않는 클래스
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | public class HashSetTest { public static void main(String[] args) { //중복을 허용하지 않는 HashSet Set set = new HashSet(); for (int i = 0; set.size() < 6; i++){ int num = (int)(Math.random()*45) + 1; set.add(new Integer(num)); } List list = new LinkedList(set); Collections.sort(list); System.out.println(list); } } | cs |
위의 예제는 로또번호 예제 - 코드를 이해 못해도 무관.
HashMap
- Key&Value 의 형식으로 데이터를 저장하는 클래스이다.
값의 중복은 허용하나, Key의 경우는 중복을 허용하지 않는다.
왜? Key 값은 중복이 있다면, 어떤 값이 맞는 것인지 알 수가 없다!! >_<
1 2 3 4 5 6 7 8 9 10 11 | public class HashMapTEST { public static void main(String[] args) { HashMap map = new HashMap(); map.put("seungdols", 3452); map.put("choi", 2341); System.out.println(map); } } | cs |
반응형
'프로그래밍 > Java' 카테고리의 다른 글
절차 지향? 객체 지향? (0) | 2014.09.03 |
---|---|
Java 문자열에 관한 타입 (0) | 2014.09.03 |
JAVA란? (0) | 2014.03.24 |
RGB 색상표 (0) | 2011.11.23 |
API 주소 (0) | 2011.11.08 |