-
컬랙션(Collection)과 맵(Map) 계열JAVA/in 기초 2014. 2. 21. 00:53728x90
컬랙션(Collection)과 맵(Map) 계열은 배열의 발전된 모델이라 볼 수 있다.
배열과 컬렉션이나 맵계열의 차이는, 배열은 크기를 동적으로 늘릴 수 없지만, 컬렉션이나 맵 계열 클래스는 동적으로 메모리를 확장 할 수 있다.
일반적으로 Collection은 집합적 데이터 관리를 위해서 사용 하며, Map은 검색적인 저장 공간을 지원 하기 위해서 사용 한다.
<Collection과 Map의 상속 구조>
List 인터페이스
- 순서가 있는 Collection 이다.
- 데이터를 중복해서 포함 할 수 있다.
Set 인터페이스
- 집합적인 개념의 Collection이며 순사의 의미가 없다.
- 데이터를 중복해서 포함 할 수 없다.
동기화란?
하나의 객체에 여러 쓰레드들이 접근을 할때 한번에 하나씩만 접근이 가능 하도록 LOCK을 거는 행위를 말한다.
Sorted와 Not Sorted의 차이
데이터들의 정렬을 지원 하는 것과 지원 하지 않는 것의 차이이다.
Comparator 인터페이스를 구현하면, 사용자가 직접 정렬 방식을 지정할 수 있다.
* 추가 사항
Map 에 보면 keySet() 이라는 메소드가 있다. 이 메소드는 어떤 키값들이 있는지를 return 해준다.
이때 HashMap() 을 사용 했을 경우, 결과 키의 순서는 데이터 입력 순서와 무관하며, 호출할때 마다 순서가 달라질수 있다.
만약 입력한 순서대로 데이터를 받아오고자 한다면, LinkedHashMap을 사용해야 하며, 정렬된 순서대로 사용하고자 한다면, TreeMap을 사용 해야 한다.
class CoustomComparator<t> implements Comparator<t>{ public int compare(T o1, T o2){ //비교 방법 구현 // 1, 0, -1 을 리턴하는 것에 따라 정렬 방법이 달라진다. } }
728x90'JAVA > in 기초' 카테고리의 다른 글
Formatting 기능 (0) 2014.02.21 예외처리(Exception) (0) 2014.02.21 Polymorphism (0) 2014.02.03 Overloading, Constructor, Inheritance, Overriding, this, super (0) 2014.02.02 Java in Memory (0) 2014.01.19