[ Collection 종류와 Map종류에 대해서 알아보기 ]
Q. Collection, Map이란?
- Collection : 데이터 관리를 위한 집합을 나타내는 가장 상위 인터페이스입니다.
- Map : 키와 값의 쌍으로 이루어진 객체를 처리하기 위한 인터페이스입니다. 이 객체는 중복된 키 값을 허용하지 않는 특징이 있습니다.
Q. Collection의 종류?
- Set : 순서가 없는 값들끼리의 묶음이며 중복이 되어도 상관없는 데이터를 구할 때 유용하게 사용이 되어지는 인터페이스입니다.
- List : 순서대로 값이 저장되어 지는 집합이며 각각 index가 존재하여 위치 값으로 접근이 가능한 이점이 있는 인터페이스입니다.
(Queue라는 Collection또한 있지만 개인적으로 다뤄보질 않아서 이 포스팅 내용엔 정리하지는 않았습니다.)
- Set
1. HashSet : Set기능만을 이용할 때 사용되어지는 클래스로써 순서없이 저장되어 집니다.
2. TreeSet : 올림차순으로 정렬시켜주며 데이터를 담을 때 정렬하면서 사용하기에 이점이 있는 클래스입니다. 하지만 HashSet보단 성능상 느린 단점이 있습니다.
3. LinkedHashSet : 저장된 순서로 값이 담아지는데 삽입순서를 기억할 필요가 없을 때 사용되어 지는 클래스입니다.
- List
1. ArrayList : 각각의 데이터들을 index값으로 이루어져 있는 클래스입니다. Vector와 비슷하지만 동기화가 존재하지 않는 특징이 있습니다. 그리고 각 데이터 값들은 인덱스가 존재하기에 검색 시에는 유용하지만 삽입과 삭제등에는 느린 단점이 있습니다.
2. LinkedList : 메모리와 메모리 사이 연결을 통해 포인터를 이용하여 위치를 참조하고 나열하는 구조의 클래스입니다. 삭제나 삽입 등에는 ArrayList의 비해 나은 편입니다.
3. Vector : 동기화 처리가 내부적으로 일어나며 객체를 생성할 때 크기를 지정할 필요가 없는 클래스입니다. 위 두 클래스보단 속도면에서 나은 이점이 있습니다.
Q. Map의 종류?
1. HashTable : HashMap과 비슷하게 Map기능만 필요할 때 사용되어지는 클래스인데 HashMap과의 차이점으로는 동기화가 가능하다는 점이 있습니다.
2. HashMap : Map기능만 필요할 때 사용되어지는 클래스로써 동기화가 존재하지 않으며 값의 null을 포함시킬 수 있다는 특징이 있는 클래스입니다.
3. TreeMap : 키값으로써 값이 오름차순으로 정렬이 되어진다는 특징이 있는 클래스입니다.
4. LinkedHashMap : 키의 값과는 다르게 순서대로 값들끼리의 연결이 되어져 있는 클래스입니다.
- 참고 사이트 : http://egloos.zum.com/dojeun/v/317868
- 참고 사이트 : http://comxp.tistory.com/72
'Development > JAVA' 카테고리의 다른 글
[JAVA] 상속, 추상클래스, 인터페이스 (0) | 2016.09.03 |
---|---|
[JAVA] 게시판 예제 - 3 (ArrayList, 기능 분리) (0) | 2016.09.02 |
[JAVA] 게시판 예제 - 2 (배열 복사) (0) | 2016.08.29 |
[JAVA] 게시판 예제 - 1 (배열, Scanner) (0) | 2016.08.24 |
[JAVA] Scanner 문자열 입력 (0) | 2016.08.24 |