컬렉션 프레임워크(Collection framework)
- 규격화, 표준화 시킨 설계
분류
- List : add되는 데이터의 순서가 중요하다.(집어넣는 순서대로 처리)
중복데이터 허용(확인x)
ex)ArrayList, LinkedList, Vector, Stack
- Set : 순서가 없다.(순서유지x), 중복데이터 불가(확인o)
ex)HashSet, TreeSet(정렬) - OldVersion API가 없음
- Map : 각각의 객체마다 이름(primary key)를 주어서 그 쌍으로 데이터를 관리
ex)HashMap, TreeMap, HashTable, Properties
동기화
Old - 무조건 동기화를 한다.
New - 동기화처리를 따로 해 주어야 한다.(필요하다면) : synchronized-
ArrayList(구버전 : Vector)
자료를 순차적으로 저장한다.
장점 : 구조가 간단, 속도가 빠름
단점 : 크기 변경이 불가능, 추가, 삭제가 느리다.
LinkedList
자료를 비순차적으로 저장한다.
ArrayList에 비하여 자료의 추가, 삭제가 빠르다.(비순차적인 면에서)
[참조] 정렬을 할 때 Collections.sort()를 사용한다.
Enumeration(구버전) -> Iterator(단방향) -> ListIterator(양방향)
저장된 데이터에 접근하는데 사용하는 객체
Deep / Shallow Copy
Deep Copy : 같은 내용으로 새로운 객체 생성(저장 공간이 서로 다르다)
Shallow Copy : 저장공간의 주소를 복사하여 저장(원본 변경시 같이 변경된다)
HashSet - 중복불가, 순서유지x
순서를 유지하고 싶으면 LinkedHashSet을 사용
equals()와 hashCode()가 오버라이딩 되어있지 않으면 중복검사를 못 할 수도 있다.
HashSet은 값을 가져오는 메소드를 제공하지 않기 때문에 Iterator나 배열을 쓴다.
HashMap(구버전 : HashTable)
키와 값으로 저장하며 대량의 데이터를 다루는데 성능이 좋다.
HashMap의 키값은 equals가 오버라이딩되어있는 객체여야 한다.
Properties
환경설정 값등을 저장할 때 사용한다.
최근에는 xml으로 사용되는 부분이 있으나 아직 많이 사용되고 있다.
- 규격화, 표준화 시킨 설계
분류
- List : add되는 데이터의 순서가 중요하다.(집어넣는 순서대로 처리)
중복데이터 허용(확인x)
ex)ArrayList, LinkedList, Vector, Stack
- Set : 순서가 없다.(순서유지x), 중복데이터 불가(확인o)
ex)HashSet, TreeSet(정렬) - OldVersion API가 없음
- Map : 각각의 객체마다 이름(primary key)를 주어서 그 쌍으로 데이터를 관리
ex)HashMap, TreeMap, HashTable, Properties
동기화
Old - 무조건 동기화를 한다.
New - 동기화처리를 따로 해 주어야 한다.(필요하다면) : synchronized-
ArrayList(구버전 : Vector)
자료를 순차적으로 저장한다.
장점 : 구조가 간단, 속도가 빠름
단점 : 크기 변경이 불가능, 추가, 삭제가 느리다.
LinkedList
자료를 비순차적으로 저장한다.
ArrayList에 비하여 자료의 추가, 삭제가 빠르다.(비순차적인 면에서)
[참조] 정렬을 할 때 Collections.sort()를 사용한다.
Enumeration(구버전) -> Iterator(단방향) -> ListIterator(양방향)
저장된 데이터에 접근하는데 사용하는 객체
Deep / Shallow Copy
Deep Copy : 같은 내용으로 새로운 객체 생성(저장 공간이 서로 다르다)
Shallow Copy : 저장공간의 주소를 복사하여 저장(원본 변경시 같이 변경된다)
HashSet - 중복불가, 순서유지x
순서를 유지하고 싶으면 LinkedHashSet을 사용
equals()와 hashCode()가 오버라이딩 되어있지 않으면 중복검사를 못 할 수도 있다.
HashSet은 값을 가져오는 메소드를 제공하지 않기 때문에 Iterator나 배열을 쓴다.
HashMap(구버전 : HashTable)
키와 값으로 저장하며 대량의 데이터를 다루는데 성능이 좋다.
HashMap의 키값은 equals가 오버라이딩되어있는 객체여야 한다.
Properties
환경설정 값등을 저장할 때 사용한다.
최근에는 xml으로 사용되는 부분이 있으나 아직 많이 사용되고 있다.
댓글 없음:
댓글 쓰기