개발이글스
[Java] Collection - List, Set, Map 본문
Interface | 특징 |
List | 순서가 있는 데이터집합, 데이터의 중복을 허용 |
Arraylist, LinkedList, Stack, Vector | |
Set | 순서가 없는 데이터집합, 데이터의 중복을 허용하지않음 |
HashSet, TreeSet | |
Map | key & value 의 한쌍으로 이루어지는 데이터의 집합 |
HashMap, TreeMap, HashTable, properties |
1.List
제일 많이쓰는 구현클래스는 바로 ArrayList!!
ex) ArrayList<PhoneBook> list = new ArrayList<PhoneBook>();
list.add(new PhoneBook(name, tel, address, age)); //list에 객체 추가
add(객체) | 추가 |
add(index,객체) | index에 추가 |
addAll(index, Collection) | index 지정위체 Collection 추가 |
get(index) | index에 객체를 준다. |
indexOf(객체) | index 위치를 반환 |
lastindexOf(객체) | 그 객체의 제일 마지막에 있는 index를 반환 |
Remove(index) | index 위치의 객체를 삭제 |
Set(index, 객체) | index위치릐 객체를 교체 |
Size() | 리스트의 길이 |
subList(from, to) | from~to 까지의 객체를 List로 반환 |
2.Set
위의 List Collection 은 순서를 유지해 데이터를 저장했지만, Set은 저장순서가 유지되지 않는다.
Set Collection은 순서자체가 없기때문에, 인덱스로 객체를 검색해서 가져오는 get메서드도 존재하지 않는다.
그럼 어떻게 인덱스를 검색하고 값을 찾아낼까??
바로 Iterator 을 쓰면 된다!
전체 객체를 대상으로 한번씩 반복해서 값을 찾아낼 수 있겠다. 반복자(Iterator)은 iterator() method를 호출하면 가져올 수 있다.
Set Collection은 객체를 중복해서 저장할 수 없다고했다. null도 중복 저장이 안된다는것 !!
Set Collection의 대표적인 클래스는 HashSet, TressSet 이다.
이 2가지 클래스는 Set Interface를 같이 상속하고 있으므로 공통적으로 사용할 수 있는 method가 존재한다.
boolean add(E e) | 주어진 객체를 저장 후 성공적이면 true, 중복객체이면 false를 리턴 |
boolean contains(OBject o) | 주어진 객체가 저장되어있는지 여부를 리턴합니다. |
Iterator<E> iterator() | 저장된 객체를 한번씩 가져오는 반복자를 리턴합니다. |
isEmpty() | 컬렉션이 비어잇는지 조사합니다. |
int Size() | 저장되어 있는 전체 객체수를 리턴합니다. |
void clear() | 저장된 모든 객체를 삭제합니다. |
boolean remove(Object o) | 주어진 객체를 삭제합니다. |
3.Map
Map Collection 은 key 와 value 로 구성된 객체를 저장하는 구조를 가지고있는 자료구조이다.
key는 중복으로 저장할 수 없고, 값은 중복으로 저장 가능!
중복된 key값이 들어온다면 기존의 값은 없어지고 새로운 값으로 대치된다.
'Programming > Java' 카테고리의 다른 글
[JAVA] 업캐스팅 & 다운캐스팅 (0) | 2022.09.13 |
---|---|
[JAVA] super & super() (0) | 2022.09.13 |
[JAVA] if문, switch문 (0) | 2022.09.06 |
[JAVA] 객체지향 프로그래밍(OOP) (0) | 2022.08.22 |
[Java] Generic(제네릭) (0) | 2022.07.12 |