Collection API
- Data를 모아 관리하는 객체, 모으는 방법에 따라 여러 class로 제공, Object type의 배열
- Collection에 정의된 메소드
추가 : add(Object) - boolean
삭제 : remove(Object) - boolean
조회 : 조회 메소드 X → iterator 객체리턴
size() : 관리하는 객체의 수 – int
contains(Object) - boolean(인수로 받은 객체가 Collection에 있는지 조회
clear() - collection내의 모든 객체 삭제
- List → List는 중간 idx에 null이 있으면 안 된다.
add(int idx(객체를 삽입할 인덱스), Object) - 삽입
set(int idx, Object) - 교체 ex) list.set(2,a)
remove(int 삭제할idx) : Object type → 특정 idx의 객체를 삭제하고 그 객체를 return
get(int idx) : Object type → 특정 index의 객체를 return (조회)
indexOf(Object) : int → 인수로 받은 객체의 index를 알려준다.
lastIndexOf(Object) : int → 인수로 받은 객체의 index를 알려준다.(마지막 index부터 찾음)
- set은 주로 collection의 메소드를 그대로 사용하지만, List는 추가적인 메소드가 존재한다.
- ~Set과 같은 이름의 메소드는 Set계열(HashSet, TreeSet), ~List, Vector는 List 계열 메소드(ArrayList)
- ArrayList(전체조회 : List계열에서 가장 많이 쓰임), LinkedList(데이터 삽입, 삭제 시 편리하다)
<<Interface>> Collection | java.util | <<Interface>> Map | |||||||||||||
↳ 값만 모음 ⇧ extends |
| ↳ Key-Value 쌍 | |||||||||||||
|
| Key값은 중복될 수 없다.
① Return type이 HashTable type인 데이터들이 존재한다. ② Key(Object) - Value(Object) 쌍(주로 String type 사용) ③ Properties는 key와 value 모두 String type만 사용
| |||||||||||||
※ 배열 vs List 배열 for(int i = 0; i< 배열.length; i++) { 배열[i] } List for(int I=0; i< list.size(); I++) { Object o = list.get(i); } 향상된 for문 for(Object o: list) { system.out.println(o); } |
배열 vs Collection
- 배열의 사이즈를 지정하면 차후에 고정된 배열의 크기를 확장할 수 없다.
- Collection의 length를 100으로 지정하고 그 공간을 모두 사용했다면 더 큰 length의 배열을 다시 생성할 필요 없이 메모리가 허용하는 한 길이를 조정할 수 있다.
'Wanna be a Programmer > Java Programming' 카테고리의 다른 글
Java Programming - Generic(제네릭), Object, Wrapper Class (0) | 2012.07.10 |
---|---|
Java Programming - Map, Iterator (0) | 2012.07.09 |
Java Programming - Abstract vs Interface (0) | 2012.07.03 |
Java Programming - 의존관계(Dependency), Final (0) | 2012.07.02 |
Java Programming - 다형성(Polymorphism), Heterogeneous Collection (0) | 2012.07.02 |