List
List 인터페이스는 배열과 유사한 자료구조
- 중복허용
- 저장순서 유지
구현 클래스
- Vector
- ArrayList
가장널리 사용됨- LinkedList
주요 메소드
메소드 설명 add(),addAll()새로운 요소를 추가 위치를 저장하거나 컬렉션 데이터를 한번에 추가하는 것이 가능 get() 저장된 위치(idx)에 있는 객체 반환 indexOf() 객체의 위치 반환 lastindexOf() List의 마지막 요소로부터 역방향으로 위치 반환 listIterator() List의 객체에 접근할 수 있는 ListIterator를 반환 remove() 지정된 위치에 있는 객체를 삭제하고 삭제된 객체를 반환 set() 지정된 위치에 객체를 저장 sort() 지정된 Comparator로 List요소 정렬 SubList() 지정된 범위에 있는 객체를 새로운 List로 반환
Set
Set 인터페이스는 List와 유사하지만
- 중복 허용되지않음
- 기본적으로 순서 유지 되지 않음
구현클래스
- HashSet #가장 널리 사용
- LinkedHashSet
- EnumSet
- TreeSet
- CopyOnWriteArraySet
순서가 필요한 경우 LinkedHashSet 클래스 or SortedSet 인터페이스를 구현한 TreeSet등 사용주요 메소드
메소드 설명 add(), addAll() 기존에 없는 새로운 요소를 추가, 컬렉션 데이터를 한번에 추가하는 것도 가능 clear() 모든 요소를 삭제 contains(), containsAll() 인자의 객체를 포함하고있는지 확인, 컬렉션 전체를 비교할 수 도있음 isEmpty() 요소가 하나도 없는지 확인 iterator() 현재 Set의 객체에 접근할 수 있는 iterator를 반환 remove(), removeAll() 특정 객체를 삭제하거나 컬렉션 전체를 삭제 size() Set에 지정된 요소의 크기를 반환 toArray() 현재 Set의 요소를 배열로 반환
Map
Map 은 List 계열과 달리 순차적으로 데이터를 관리하지 않고 Key, Value 쌍으로 데이터 관리
- Map은 Collection 인터페이스를 상속받지 않음 그 자체로 인터페이스
- 여러 Map 구현클래스를 가지고 있음
- Key 집합은 Set 으로 볼 수 있음
- Value 집합은 Collection 으로 볼 수 있음
기본사용 예시
Map<String,String> map = new HashMap<>(); map.put("109875","홍길동"); map.put("109894","김사랑"); System.out.println(map.get("109894")); // 김사랑
- 타입 파라미터로 Key,Value의 타입지정
- 문자열 이외 클래스 타입도 가능
- 필요 데이터를 찾기 위해 key를 인자로 사용
주요 메소드
메소드 설명 put(), putAll() 새로운 요소를 추가, 데이터를 한번에 추가하는 것도 가능 get() 특정 Key 에 해당하는 값을 가지고 옴 remove() Map 요소 삭제 entrySet() key 와 value 값 모두를 Entry 객체로 반환 keySet() key 요소만 Set 객체로 반환 size() 크기를 반환 values() value 요소만 Collection 타입으로 반환