반응형
Collection Framework
- 다수의 객체(data)를 다루기위한 표준화된 프로그래밍 방식 (프로그램을 만들때 정해진 틀)
- 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공
- 객체(data)를 다룬다는 것은 저장, 삭제, 검색, 정렬을 말한다
- java.util 패키지에 포함되있고 JDK 1.2부터 제공한다
타인이 짜둔 코드를 원하는대로 유지보수하기 어려워 특정 프레임워크를 사용하기 시작했다.
특정 프레임워크를 사용해서 프로그래밍을 짜면 다른사람이 봤을때 이해도가 높다.
라이브러리 Library
누군가가 미리 만들어 둔 정보 (오디오 라이브러리, 통계 라이브러리, 그래픽 라이브러리 등)
Collection Framework 핵심 인터페이스
인터페이스 | 특징 | 구현 클래스 |
List | 순서가 있는 데이터의 집합, 데이터 중복 허용 ex) 대기자 명단 |
ArrayList, LinkedList, Stack, Vector, Queue |
Set | 순서를 유지하지않는 데이터의 집합, 데이터 중복 비허용 ex) 양의 정수집합, 소수의 집합 |
HashSet, TreeSet |
Map | key와 value 쌍으로 이루어진 데이터의 집합 순서는 유지되지않고, 키는 중복 비허용, 값은 중복허용 ex) 우편번호, 지역번호(전화번호) |
HashMap, TreeMap, Hashtable, Properties |
List 인터페이스
- 순서o, 중복o
- ArrayList, LinkedList 핵심
- List 인터페이스 메소드
- Collection 인터페이스 메소드는 제외하고 추가적인 메서드를 아래 서술
- 메소드 주기능 - 추가, 삭제, 검색, 정렬
메소드 | 설명 |
void add(int index, Object element) boolean addAll(int index, Collection C) |
지정된 위치(index)에 객체(element) 또는 컬렉션에 포함된 객체들을 추가 |
Object get(int index) | 지정된 위치에 있는 객체를 반환 |
int indexOf(Object o) | 지정된 객체의 위치를 반환 (List의 첫번째 요소부터 순방향으로 찾는다) |
int lastIndexOf(Object o) | 지정된 객체의 위치를 반환 (List의 마지막 요소부터 역방향으로 찾는다) |
ListIterator listIterator() ListIterator listIterator(int index) |
List의 객체에 접근할 수 있는 ListIterator를 반환 |
Object remove(int index) | 지정된 위치에 있는 객체를 삭제하고 삭제된 객체를 반환 |
Object set(int index, Object element) | 지정된 위치에 객체를 저장 |
void sort(Comparator c) | 지정된 비교자(comparator)로 List를 정렬 |
List subList(int fromIndex, int toIndex) | 지정된 범위(fromIndex~toIndex)에 있는 객체를 반환 (요소를 일부만 뽑아냄) |
Set 인터페이스
- 순서x, 중복x
- HashSet, TreeSet 핵심
- Set 인터페이스 메서드 = Collection 인터페이스 메서드 동일
- 집합과 관련된 메서드 (Collection에 변화가 있으면 true, 아니면 false를 반환.
- Set 인터페이스 메소드
메소드 | 설명 |
boolean add(E e) boolean addAll(Collection c) |
해당 컬렉션에 전달된 요소를 추가함 (선택적 기능) 지정된 Collection (c)의 객체들을 Collection에 추가 (합집합) |
void clear() | 해당 컬렉션의 모든 요소 전체 삭제 (선택적 기능) |
boolean contains(Object o) boolean containsAll(Collection c) |
해당 컬렉션이 전달된 객체를 포함하고있는지를 확인함 지정된 Collection의 객체들이 Collection에 포함되어있는지 확인 (부분집합) |
boolean equals(Object o) | 해당 컬렉션과 전달된 객체가 같은지를 확인함 |
boolean isEmpty() | 해당 컬렉션이 비어있는지를 확인함 |
Iterator<E> iterator() | 해당 컬렉션의 반복자(iterator)를 반환함 |
boolean remove(Object o) boolean remobeAll(Collection c) |
해당 컬렉션에서 전달된 객체를 삭제함 (선택적 기능) 지정된 Collection에 포함된 객체들을 삭제 (차집합) |
int size() | 해당 컬렉션의 요소의 총 개수를 반환함 |
Object[] toArray() | 해당 컬렉션의 모든 요소를 Object 타입의 배열로 반환함 |
boolean retainAll(Collection c) | 지정된 Collection에 포함된 객체만을 남기고 나머지는 Collection에서 삭제 (교집합) |
Map 인터페이스
- 순서x, 중복(키x, 값o)
- key와 value를 한쌍으로 저장
- 대표적인 예 → id, pwd
- 검색 추가 삭제
- Map 인터페이스 메소드
메소드 | 설명 |
void clear() | Map의 모든 객체를 삭제 |
boolean containsKey(Object key) | 지정된 key객체와 일치하는 Map의 key객체가 있는지 확인 |
boolean containsValue(Object value) | 지정된 value객체와 일치하는 Map의 value객체가 있는지 확인 |
Set entrySet() | Map에 저장되있는 key-value쌍을 Map.Entry타입의 객체로 저장한 Set으로 반환 |
boolean equals(Object o) | 동일한 Map인지 비교 |
Object get(Object key) | 지정한 key객체에 대응하는 value객체를 찾아서 반환 |
int hashCode() | 해시코드를 반환 |
boolean isEmpty() | Map이 비어있는지 확인 |
Set keySet() | Map에 저장된 모든 key객체를 반환 |
Object put(Object key, Object value) | Map에 value객체를 key객체에 연결(mapping)하여 저장 |
void putAll(Map t) | 지정된 Map의 모든 key-value쌍을 추가 |
Object remove(Obejct key) | 지정한 key객체와 일치하는 key-value객체를 삭제 |
int size() | Map에 저장된 key-value쌍의 개수를 반환 |
Collection values() | Map에 저장된 모든 value객체를 반환 |
collection class
컬레션 프레임워크에 속하는 인터페이스를 구현한 클래스
Collection 인터페이스
List와 Set 인터페이스의 공통 부분을 Collection 인터페이스에서 정의하고, 두 인터페이스는 그것을 상속받는다.
주요 메소드
- 메소드 주기능 - 추가, 검색, 삭제
메소드 | 설명 |
boolean add(E e) boolean addAll(Collection c) |
해당 컬렉션에 전달된 요소를 추가함 (선택적 기능) |
void clear() | 해당 컬렉션의 모든 요소 전체 삭제 (선택적 기능) |
boolean contains(Object o) | 해당 컬렉션이 전달된 객체를 포함하고있는지를 확인함 |
boolean equals(Object o) | 해당 컬렉션과 전달된 객체가 같은지를 확인함 |
boolean isEmpty() | 해당 컬렉션이 비어있는지를 확인함 |
Iterator<E> iterator() | 해당 컬렉션의 반복자(iterator)를 반환함 |
boolean remove(Object o) | 해당 컬렉션에서 전달된 객체를 삭제함 (선택적 기능) |
int size() | 해당 컬렉션의 요소의 총 개수를 반환함 |
Object[] toArray() | 해당 컬렉션의 모든 요소를 Object 타입의 배열로 반환함 |
add 사용 방법
package pkg1;
import java.util.ArrayList;
public class Collection {
public static void main(String[] args) {
// 리스트 생성
ArrayList<String> arrList = new ArrayList<String>();
// 리스트에 요소의 저장
arrList.add("셋");
arrList.add("하나");
arrList.add("둘");
// 리스트 요소의 출력
for (int i=0; i<arrList.size(); i++){
System.out.println(arrList.get(i));
}
}
}
결과
반응형
'Backend > Java' 카테고리의 다른 글
[Java] Java LinkedList (0) | 2023.06.18 |
---|---|
[Java] Java ArrayList (개념, 메소드) (0) | 2023.06.17 |
[Java] 오버라이딩 (overriding) (0) | 2023.06.14 |
[Java] 접근제어자 (access modifier) (0) | 2023.06.13 |
[Java] 상속 Inheritance, 포함 관계 (composite) (0) | 2023.06.13 |