자바 집합 프레임 워 크 의 Collection 인터페이스 상세 설명
9076 단어 Java집합 프레임Collection
자바 의 집합 류 는 주로 두 개의 인터페이스 에서 파생 된다.Collection 과 Map,Collection 과 Map 은 자바 집합 구조의 루트 인터페이스 이 고 이 두 인 터 페 이 스 는 일부 인터페이스 나 실현 류 를 포함한다.
Collection 은 클래스 를 직접 실현 하지 않 고 더 구체 적 인 하위 인 터 페 이 스 를 제공 하 는 것 을 볼 수 있다.API 조 회 를 통 해 Collection 의 기본 기능 을 정리 할 수 있 습 니 다.
1.첨가
boolean add(E e):요소 추가
boolean addAll(Collectionc):집합 요 소 를 추가 합 니 다.
예제 코드
package collection;
import java.util.ArrayList;
import java.util.Collection;
public class CollectionDemo1 {
public static void main(String[] args) {
Collection collection1 = new ArrayList(); // Collection ,
collection1.add(" ");
collection1.add(" ");
System.out.println(collection1);
Collection collection2 = new ArrayList();
collection2.add(" ");
collection2.add(" ");
collection1.add(collection2);
System.out.println(collection1);
}
}
출력 결과:[홍루몽,삼 국 연의]
[홍루몽,삼 국 연의,[서유기,수호 지]]
2.삭제
void clear():집합 에 있 는 모든 요 소 를 비 웁 니 다.
boolean remove(Object o):지정 한 요 소 를 제거 합 니 다.
boolean removeAll(Collection c):집합 요 소 를 제거 합 니 다.
예제 코드
package collection;
import java.util.ArrayList;
import java.util.Collection;
public class CollectionDemo2 {
public static void main(String[] args) {
Collection collection1 = new ArrayList(); // Collection ,
collection1.add(" ");
collection1.add(" ");
collection1.add(" ");
collection1.add(" ");
System.out.println(" :" + collection1);
boolean b1 = collection1.remove(" ");
System.out.println(" :" + b1);
System.out.println(" :" + collection1);
System.out.println();
Collection collection2 = new ArrayList();
collection2.add(" ");
collection2.add(" ");
collection2.add(" ");
boolean b2 = collection1.removeAll(collection2); // , , true
System.out.println(" :" + collection1);
System.out.println(" :" + b2);
System.out.println();
Collection collection3 = new ArrayList();
collection3.add(" ");
collection3.add(" ");
boolean b3 = collection1.removeAll(collection3);// , , true
System.out.println(" :" + collection1);
System.out.println(" :" + b3);
System.out.println();
collection1.clear();
System.out.println(" :" + collection1);
}
}
출력 결과초기 상태:[홍루몽,삼 국 연의,서유기,수호 지]
원소 제거 여부:true
하나의 요소 제거:[삼 국 연의,서유기,수호 지]
집합 제거:[수호 지]
원소 제거 여부:true
집합 제거:[수호 지]
원소 제거 여부:false
집합 에 있 는 모든 요 소 를 제거 합 니 다:[]
3.판단
boolean contains(Object o):집합 이 지정 한 요 소 를 포함 하 는 지 판단 합 니 다.
boolean containsAll(Collection c):집합 이 지정 한 집합 요 소 를 포함 하 는 지 판단 합 니 다.
boolean isEmpty():집합 이 비어 있 는 지 판단 합 니 다.
예제 코드
package collection;
import java.util.ArrayList;
import java.util.Collection;
public class CollectionDemo3 {
public static void main(String[] args) {
Collection collection1 = new ArrayList(); // Collection ,
collection1.add(" ");
collection1.add(" ");
collection1.add(" ");
collection1.add(" ");
System.out.println(" :" + collection1.contains(" "));
Collection collection2 = new ArrayList();
collection2.add(" ");
collection2.add(" ");
collection2.add(" ");
System.out.println(" :" + collection1.containsAll(collection2)); //
System.out.println(" :" + collection1.isEmpty());
}
}
출력 결과홍루몽 포함 여부:true
집합 요소 포함 여부:false
집합 이 비어 있 는 지 여부:false
4.획득 길이
int size():집합 요소 의 개 수 를 가 져 옵 니 다.
예제 코드
package collection;
import java.util.ArrayList;
import java.util.Collection;
public class CollectionDemo4 {
public static void main(String[] args) {
Collection collection = new ArrayList(); // Collection ,
collection.add(" ");
collection.add(" ");
collection.add(" ");
collection.add(" ");
System.out.println(" :" + collection.size());
}
}
출력 결과원소 개수:4
5.교차
boolean retainAll(Collection c):이 collection 에 도 지정 한 collection 에 포 함 된 요 소 를 유지 합 니 다(선택 가능 한 동작).이 collection 에 지정 한 collection 에 포함 되 지 않 은 모든 요 소 를 제거 한 것 이다.
예제 코드
package collection;
import java.util.ArrayList;
import java.util.Collection;
public class CollectionDemo5 {
public static void main(String[] args) {
Collection collection1 = new ArrayList(); // Collection ,
collection1.add(" ");
collection1.add(" ");
collection1.add(" ");
collection1.add(" ");
Collection collection2 = new ArrayList();
collection2.add(" ");
collection2.add(" ");
System.out.println(collection1.retainAll(collection2));
System.out.println("collection1:" + collection1);
System.out.println("collection2:" + collection2);
Collection collection3 = new ArrayList();
collection3.add(" ");
collection3.add(" ");
System.out.println(collection1.retainAll(collection3));
System.out.println("collection1: " + collection1);
System.out.println("collection2: " + collection2);
}
}
출력 결과true
collection 1:[서유기,수호 지]
collection 2:[서유기,수호 지]
true
collection 1:[서유기]
collection 2:[서유기,수호 지]
위의 결과 분석 을 통 해 알 수 있 듯 이 collection 1 집합 과 collection 2 집합 은 교 집합 연산 을 하고 마지막 결 과 는 collection 1 에 보관 되 며 collection 2 의 요 소 는 변 하지 않 는 다.
6.집합 배열
Object[]toArray():집합 배열
예제 코드
package collection;
import java.util.ArrayList;
import java.util.Collection;
public class CollectionDemo6 {
public static void main(String[] args) {
Collection collection = new ArrayList(); // Collection ,
collection.add(" ");
collection.add(" ");
collection.add(" ");
collection.add(" ");
Object[] objects = collection.toArray();
for (Object object : objects) {
System.out.println(object);
}
}
}
출력 결과:홍루몽
삼 국 연의
서유기
수호전
7.두루
Iterator
그 중에서 Iterator 는 하나의 인터페이스 로 세 가지 방법 이 있다.
boolean hasNext():교체 할 수 있 는 요소 가 있다 면 true 로 돌아 갑 니 다.
E next():교 체 된 다음 요 소 를 되 돌려 다음 위치 로 이동 합 니 다.
void remove():교체 기 가 가리 키 는 collection 에서 교체 기 가 돌아 오 는 마지막 요 소 를 제거 합 니 다.
예제 코드
package collection;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class CollectionDemo7 {
public static void main(String[] args) {
Collection collection = new ArrayList(); // Collection ,
collection.add(" ");
collection.add(" ");
collection.add(" ");
collection.add(" ");
Iterator it = collection.iterator();
while (it.hasNext()) {
Object object = it.next();
System.out.println(object);
}
it.remove(); // next , IllegalStateException
System.out.println(collection);
}
}
출력 결과:홍루몽
삼 국 연의
서유기
수호전
[홍루몽,삼 국 연의,서유기]
이로써 Collection 인터페이스의 방법 을 소개 했다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.