본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

JAVA

자바의 자료구조, collection

컬렉션 프레임웍이란 데이터 군을 저장하는 클래스들을 표준화한 설계.

컬렉션 프레임웍은 컬렉션, 다수의 데이터를 다루는데 필요한 풍부한 클래스들로 프로그래머의 짐을 덜어준다.

재사용높은 코드를 작성할 수 있다는 장점.

https://standout.tistory.com/127

 

자바의 자료구조, collection

collection 다수의 객체를 저장하고 관리하는 데 사용되는 자료구조 인터페이스 다양한 자료구조 구현체를 지원 객체를 추가, 삭제, 수정, 검색 등의 작업을 수행할 수 있다. https://docs.oracle.com/en/jav

standout.tistory.com

https://standout.tistory.com/111

 

프레임워크란?

Framwork 'FRAME 프레임(틀, 규칙or법칙)'+'WORK 워크(일, 소프트웨어의 목적)' 목적을 달성하기 위한 구조/틀 일반적으로 애플리케이션 개발에서 자주 사용되는(데이터베이스 연결, 사용자 인증, 보안

standout.tistory.com

 

 

컬렉션 프레임워크에서는 컬렉션 데이터그룹을 List, Set, Map타입으로 존재한다고 인식하며

List와 Set의 공통된 부분을 다시 새로운 인터페이스인 Collection의 추가로 정의한다.

 

 

collection
다수의 객체를 저장하고 관리하는 데 사용되는 자료구조 인터페이스
다양한 자료구조 구현체를 지원
객체를 추가, 삭제, 수정, 검색 등의 작업을 수행할 수 있다.


https://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/util/Collection.html

 

Collection (Java SE 19 & JDK 19)

Type Parameters: E - the type of elements in this collection All Superinterfaces: Iterable All Known Subinterfaces: BeanContext, BeanContextServices, BlockingDeque , BlockingQueue , Deque , EventSet, List , NavigableSet , Queue , Set , SortedSet , Transfer

docs.oracle.com

 

 

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