Java에는 프로그래머가 직접 사용할 수 있도록 시퀀스 목록, 연결 목록, 큐, 스택, 우선 순위 큐, 해시 테이블 등과 같은 기성 데이터 구조 세트가 해당 인터페이스/클래스로 캡슐화되어 있습니다. . 내부 구조를 구현할 필요 없이 관련 객체를 생성하고 사용할 수 있습니다.
컬렉션은 여러 요소를 저장하고 관리하는 데이터 구조로, 이러한 요소는 단일 단위로 배치되며 추가, 삭제, 수정, 쿼리 등의 작업을 통해 처리될 수 있습니다. 예를 들어, 플레잉 카드 세트(카드의 모음), 주소록(이름과 전화번호 간의 매핑 관계 세트) 등을 예로 들 수 있다.
아래 사진이 아주 중요해요! ! ! 일반적으로 사용되는 인터페이스와 클래스를 기억해야 합니다! !
맵 인터페이스는 Iterable 인터페이스를 구현하지 않기 때문에 맵 인터페이스의 요소를 어떻게 순회하나요?
HashMap을 예로 들면, 해당 EntrySet() 메소드를 호출하여 맵의 각 키-값 쌍을 Map.Entry 수신을 사용하므로 반복자 또는 for-each()를 사용하여 순회할 수 있으며 각 항목 개체에는 키 값과 값 값을 각각 가져오는 getKey() 및 getValue() 메서드가 있습니다.
기본 관계(간단 버전)
2. Collection 인터페이스
일반적으로 Collection 인터페이스를 구현하는 인터페이스나 클래스는 위 그림에서 볼 수 있듯이 특정 구현 클래스의 객체를 받아들이는 데 사용됩니다. , Collection 인터페이스는 일련의 인터페이스이며 클래스의 상위 인터페이스에는 내부적으로 구현된 메소드가 상대적으로 적으므로 하위 클래스의 일부 공통 메소드를 호출할 수 없습니다.
1. 제네릭을 통해 해당 컬렉션에 개체 유형을 지정합니다.
참고: 여기에 전달된 유형은 참조 유형만 될 수 있습니다. 기본 데이터 유형인 경우 래퍼 클래스로 지정해야 합니다
Collection<String> collection1 = new ArrayList();
collection1.add("haha");
collection1.add("world");
Collection<Integer> collection2 = new ArrayList();
collection2.add(1);
collection2.add(2);
//collection2.add("hh");// 这里会报错,不符合传入的指定类型Integer
로그인 후 복사
2 . 컬렉션은
메서드를 사용하는 일반적인 방법
Void Clear()
컬렉션의 모든 요소 삭제
Boolean ISEMPTY()
집합에 요소가 없는지 확인 빈 컬렉션
boolean Remove(Object e)
요소 e가 집합에 나타나면 그 중 하나를 제거합니다.
boolean add(E e)
요소 e를 집합에 넣습니다
int 크기 ()
컬렉션의 요소 수를 반환합니다
Object[] toArray()
컬렉션의 모든 요소를 포함하는 배열을 반환합니다
참고: 마지막 Object[] toArray() 메서드 , 반환은 Object[] 유형의 배열입니다. 기본 방법은 컬렉션의 요소를 하나씩 꺼내서 Object 개체로 변환하고 반환할 배열에 저장한 다음 마지막으로 Object 유형의 배열을 반환하는 것입니다. []. String[] 배열로 변환할 때 유형 변환 예외가 발생합니다.
배열의 모든 요소가 String으로 변환된다는 보장은 없지만 전체적으로 String[] 유형의 배열로 변환되므로 변환해야 하는 경우 트래버스를 수행해야 합니다. 반환된 결과를 먼저 변환하고 하나씩 String 유형으로 변환한 후 마지막으로 String[] 유형의 배열에 할당합니다. Java에서는 배열 유형을 전체적으로 변환하지 않는 것이 좋습니다.
Object[] objects = collection1.toArray();
String[] strings = new String[objects.length];
for (int i = 0; i < objects.length; i++) {
strings[i] = (String)objects[i];// 一个一个转,但是没啥必要
}
로그인 후 복사
3. 지도 인터페이스
여기서 키 값은 고유하며 각 키 값은 해당 값에 해당합니다. 서로 다른 키 값이 동일한 값에 해당할 수 있습니다. HashMap: 요소를 저장할 때 해당 키 값을 기준으로 내부 hashCode 함수를 호출하여 요소가 배치되어야 하는 위치를 찾습니다. 따라서 해시 테이블의 요소는 저장된 순서대로 저장되지 않습니다. Map 공통 메소드 사용
method
function
V get(Object k)
지정된 k
V getOrDefault(Object k, V defaultValue)에 따라 해당 v를 찾습니다. )
Java 8은 스트림 API를 소개하여 데이터 컬렉션을 처리하는 강력하고 표현적인 방법을 제공합니다. 그러나 스트림을 사용할 때 일반적인 질문은 다음과 같은 것입니다.
기존 루프는 조기 중단 또는 반환을 허용하지만 스트림의 Foreach 메소드는이 방법을 직접 지원하지 않습니다. 이 기사는 이유를 설명하고 스트림 처리 시스템에서 조기 종료를 구현하기위한 대체 방법을 탐색합니다.
추가 읽기 : Java Stream API 개선
스트림 foreach를 이해하십시오
Foreach 메소드는 스트림의 각 요소에서 하나의 작업을 수행하는 터미널 작동입니다. 디자인 의도입니다
캡슐은 3 차원 기하학적 그림이며, 양쪽 끝에 실린더와 반구로 구성됩니다. 캡슐의 부피는 실린더의 부피와 양쪽 끝에 반구의 부피를 첨가하여 계산할 수 있습니다. 이 튜토리얼은 다른 방법을 사용하여 Java에서 주어진 캡슐의 부피를 계산하는 방법에 대해 논의합니다.
캡슐 볼륨 공식
캡슐 볼륨에 대한 공식은 다음과 같습니다.
캡슐 부피 = 원통형 볼륨 2 반구 볼륨
안에,
R : 반구의 반경.
H : 실린더의 높이 (반구 제외).
예 1
입력하다
반경 = 5 단위
높이 = 10 단위
산출
볼륨 = 1570.8 입방 단위
설명하다
공식을 사용하여 볼륨 계산 :
부피 = π × r2 × h (4