컬렉션 프레임웍이란 데이터 군을 저장하는 클래스들을 표준화한 설계.
컬렉션 프레임웍은 컬렉션, 다수의 데이터를 다루는데 필요한 풍부한 클래스들로 프로그래머의 짐을 덜어준다.
재사용높은 코드를 작성할 수 있다는 장점.
https://standout.tistory.com/127
https://standout.tistory.com/111
컬렉션 프레임워크에서는 컬렉션 데이터그룹을 List, Set, Map타입으로 존재한다고 인식하며
List와 Set의 공통된 부분을 다시 새로운 인터페이스인 Collection의 추가로 정의한다.
collection
다수의 객체를 저장하고 관리하는 데 사용되는 자료구조 인터페이스
다양한 자료구조 구현체를 지원
객체를 추가, 삭제, 수정, 검색 등의 작업을 수행할 수 있다.
https://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/util/Collection.html
Collection인터페이스는 List와 Set의 조상이다.
boolean add(Object o)
지정된 요소를 컬렉션에 추가합니다.
List<String> list = new ArrayList<>();
list.add("apple");
// 출력 결과: 리스트에 "apple"이 추가됩니다.
boolean addAll(Collection c)
지정된 컬렉션의 모든 요소를 이 컬렉션에 추가합니다.
List<String> list1 = new ArrayList<>();
List<String> list2 = new ArrayList<>();
list2.add("banana");
list2.add("cherry");
list1.addAll(list2);
// 출력 결과: list1에 "banana"와 "cherry"가 추가됩니다.
void clear
컬렉션의 모든 요소를 제거합니다.
list.clear();
// 출력 결과: 리스트의 모든 요소가 제거됩니다.
boolean contains(Object o)
지정된 요소가 컬렉션에 있는지 여부를 확인합니다.
boolean containsApple = list.contains("apple");
// 출력 결과: containsApple 변수는 true가 됩니다.
boolean containsAll(Collection c)
지정된 컬렉션의 모든 요소가 이 컬렉션에 포함되어 있는지 여부를 확인합니다.
List<String> fruits = Arrays.asList("apple", "banana");
boolean containsAllFruits = list.containsAll(fruits);
// 출력 결과: containsAllFruits 변수는 false가 됩니다.
boolean equals(Object o)
지정된 객체와 이 컬렉션이 같은지 여부를 확인합니다.
List<String> list1 = new ArrayList<>();
list1.add("apple");
list1.add("banana");
List<String> list2 = new ArrayList<>();
list2.add("apple");
list2.add("banana");
boolean isEqual = list1.equals(list2);
//출력 결과: isEqual 변수는 true가 됩니다. 이는 list1과 list2가 같은 요소를 같은 순서로 포함하기 때문입니다.
int hashCode()
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
int hashCode = list.hashCode();
//출력 결과: hashCode 변수에는 해당 리스트의 해시 코드 값이 들어갑니다. 리스트 내의 요소와 순서에 따라 해시 코드 값이 달라질 수 있습니다
boolean isEmpty()
컬렉션이 비어 있는지 여부를 확인합니다.
boolean isEmpty = list.isEmpty();
// 출력 결과: isEmpty 변수는 true 또는 false가 됩니다.
iterator iterator()
컬렉션의 요소를 반복하는데 사용되는 반복자를 반환합니다.
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
// 출력 결과: 리스트의 모든 요소가 출력됩니다.
boolean remove(Object o)
지정된 요소를 컬렉션에서 제거합니다.
boolean removeAll(Collection c)
지정된 컬렉션에 포함된 모든 요소를 이 컬렉션에서 제거합니다.
list.remove("apple");
// 출력 결과: 리스트에서 "apple"이 제거됩니다.
boolean retainAll(Collection c)
지정된 컬렉션에 포함된 요소만 이 컬렉션에 유지합니다.
List<String> list1 = new ArrayList<>();
list1.add("apple");
list1.add("banana");
list1.add("cherry");
List<String> list2 = new ArrayList<>();
list2.add("banana");
list2.add("cherry");
list1.retainAll(list2);
//출력 결과: list1은 이제 "banana"과 "cherry"만 포함하게 됩니다. retainAll() 메소드는 list1에 있는 요소 중 list2에도 포함된 요소만 남기게 됩니다.
int size()
컬렉션의 요소 수를 반환합니다.
int size = list.size();
// 출력 결과: 리스트의 요소 수가 반환됩니다.
Object[] toArray()
컬렉션을 배열로 변환합니다.
Object[] array = list.toArray();
// 출력 결과: 리스트의 요소가 포함된 배열이 반환됩니다.
Object[] toArray(Object[] a)
지정된 배열에 컬렉션의 요소를 저장합니다.
String[] array = list.toArray(new String[list.size()]);
// 출력 결과: 리스트의 요소가 포함된 배열이 반환됩니다.
'JAVA' 카테고리의 다른 글
servlet-api.jar란? (0) | 2023.03.11 |
---|---|
Class.forName(), 클래스를 제공하는 메서드 (0) | 2023.03.11 |
isELIgnored이란? (0) | 2023.03.10 |
JSP를 도와주는, action태그 (0) | 2023.03.10 |
JNDI이란? (0) | 2023.03.10 |