java.util.Collection은 인터페이스이고,
java.util.Collections는 클래스이다.
List인터페이스 - 중복허용, 저장순서유지
Set인터페이스 - 중복허용 안함, 저장순서유지 안함.
Map인터페이스 - Map인터페이스는 키(key)와 값(value)을
하나의 쌍으로 묶어서 저장. 키는 중복될 수 없지만 값은 중복 허용.
기존의 저장된 데이터와 중복된 키와 값을 저장하면 기존의 값은 없어지고 마지막에 저장된 값이 남게 된다.
Map.Entry인터페이스 - Map.Entry인터페이스는 Map인터페이스의
내부 인터페이스이다. 내부 클래스(inner class)와 같이 인터페이스도
이처럼 인터페이스 안에 인터페이스를 정의하는 내부 인터페이스를
정의하는 것이 가능하다.
Map에 저장되는 key-value쌍을 다루기 위해 내부적으로 Entry인터페이스를
정의해 놓았다.
이것은 보다 객체지향적으로 설계하도록 유도하기 위한 것으로 Map인터페이스를 구현하는 클래스에서는 Map.Entry인터페이스도 함께 구현해야한다.
Vector와 ArrayList
공통점 |
차이점 |
-List인터페이스를 구현한다. -데이터의 저장 공간으로 배열을 사용한다. |
-Vector는 멀티쓰레드에 대한 동기화가 |
Vetor와 ArrayList는 Object배열을 이용해서 데이터를 순차적으로 저장한다. 예를 들면, 첫번째로 저장한 객체는 Object배열의 0번째 위치에 저장되고 그 다음에 저장하는 객체는 1번째 위치에 저장된다. 이런 식으로 계속 배열에 순서대로 저장되며, 배열에 더 이상 저장할 공간이 없으면 보다 큰 새로운 배열을 생성해서 기존의 배열에 저장된 내용을 새로운 배열로 복사한 다음에 저장된다.
ArrayList는 removeRange()를 제외한 모든 메서드는 Vector의 메서드와 일치한다.
Vector와 ArrayList 같이 배열을 이용한 자료구조는 데이터를 읽어오고 저장하는 데는 효율이 좋지만, 용량을 변경해야할 때는 새로운 배열을 생성한 후 기존의 배열로부터 새로 생성된 데이터를 복샇야하기 때문에 상당히 효율이 떨어진다는 단점을 가지고 있다.
'JAVA > 팀장님 JAVA수업' 카테고리의 다른 글
Collection 보충설명중 Iterator (0) | 2012.07.18 |
---|---|
Collection 보충설명중 배열과 LinkedList의 차이점. (0) | 2012.07.17 |
팀장님 수업 10 (0) | 2012.07.13 |
스트림정리 (0) | 2012.07.10 |
중요정리!!(부모클래스와 자식클래스) (0) | 2012.07.06 |