집합 프레임 워 크 (1) - 개술
대강:
1. 수조 용기 와 집합의 차이;
2. 프레임 의 유래 집합 하기;
3. Collection 의 공통성 방법
4. 교체 기 및 그 원리, 그리고 나타 나 는 이점
5. 집합 중 두 가지 주의 사항
6. Collection 의 두 부분 집합 List Set 프로필 및 하위 클래스
7. 집합 기술 습득
————————————————————————————————————————————————————————————————
집합 프레임 워 크 정 리 를 시작 하기 전에 [집합] 이 무엇 인지 명 확 히 해 야 합 니 다.
집합 은: 1. 대상 을 저장 하 는 용기 입 니 다.2. 이 용기 의 길 이 는 가 변 적 이다.
1. 배열 용기 와 집합 의 차이;
그 전에 배 운 [수조 용기 와 집합 은 모두 데 이 터 를 저장 할 수 있 는데 그들 은 어떤 차이 가 있 습 니까?]
1. 집합 길 이 는 가 변 적 이다.배열 길이 고정;
2. 집합 중 대상 만 저장 할 수 있다.배열 에 서 는 대상 을 저장 할 수도 있 고 기본 형식의 데 이 터 를 저장 할 수도 있다.
3. 집합 에 저 장 된 대상 은 임의의 유형 일 수 있다.배열 에는 같은 유형의 대상 만 저장 할 수 있 습 니 다.
[중점 주의:]
집합 은 대상 만 저장 할 수 있 고 자주 저 지 르 는 오류: 집합 은 정형 과 같은 기본 데이터 형식 을 저장 할 수 있 습 니 다. 사실은 그것 은 자동 포장, 분해 체 제 를 통 해 Integer 대상 으로 전환 하 는 것 입 니 다.
둘: 프레임 의 유래 집합 하기;
대상 을 저장 하 는 용 기 는 많 고 구조 가 다 르 지만 공통성 을 가지 고 있어 끊임없이 위로 추출 할 수 있 고 최종 적 으로 집합 프레임 워 크 를 형성 할 수 있다. 이 프레임 의 맨 윗 층 중 하 나 는 Collection 인터페이스 이다.이 인터페이스 에 서 는 집합 프레임 워 크 의 가장 공 통 된 기능 을 정의 한다.최종 적 으로 사용 할 때 사실은 이 프레임 의 가장 하위 클래스 의 대상 을 사용한다.
[집합 프레임 의 디 테 일]
StringBuffer - 넣 으 면 덩어리 야. 한 개 를 구별 할 수 없어!
프레임, 배열 - 넣 으 면 구분 할 수 있 고 꺼 내 도 구분 할 수 있 습 니 다.
3. Collection 의 공통성 방법;
[Collection 의 공통성 방법] - [파악 정도: API 문 서 를 찾 지 않 아 도 쓸 수 있 습 니 다]
용기 로 서 갖 춰 야 할 방법: 추가, 삭제, 판단, 획득.
1. 추가 방법:
boolean add(Object e)—— 한 번 에 하나의 요소 만 추가 할 수 있 습 니 다.
boolean addAll(Collection<? extends E> c)—— 。
2. 삭제 방법:
boolean remove (Object e) 에서 지정 한 대상 을 삭제 합 니 다.
boolean removeAll(Collection<?> c) Collection Collection 。
void clear (): 집합 중의 요 소 를 직접 비 웁 니 다.
3. 판단 방법:
Boolean contains (Object) 가 지정 한 요 소 를 포함 하 는 지 여부
boolean containsAll(Collection<?> c) 。
boolean imEmpty (): 요소 가 있 는 지 여부 입 니 다.
4. 원소 개수 가 져 오기:
int size (), 요소 의 개수 가 져 오기;
5. 교 집합
boolean retainAll(Collection<?> c)
collection , 。
6 집합 을 수조 로 전환 하기;
Object[] toArray()
【7】 ——【 】
Iterator<E> iterator()
4: 교체 기, 그 원리, 그리고 나타 난 장점;
【 】 。 。
?
iterator() , Iterator 。
【 】
。 。 , Iterator ,
。
【 】
, , 。 , , 。 Iterator 。
【NOTICE】—— Collection , 。
【 , 。】
【 】
package api.iterator.demo;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class IteratorDemo {
public static void main(String[] args) {
// 。
Collection coll = new ArrayList();
// 。
coll.add("abc1");
coll.add("abc2");
coll.add("abc3");
/*
// 。
Iterator it = coll.iterator(); // new , 。
// 。
while(it.hasNext()){
System.out.println(it.next());
}
*/
// while for 。 for。
for(Iterator it = coll.iterator(); it.hasNext(); ){
System.out.println(it.next());//next() 。
}
}
}
5. 집합 에서 주의해 야 할 두 가지 세부 사항;
[디 테 일 집합 1]
1. 저장 할 때 add 는 임의의 유형의 대상 을 받 을 수 있 습 니 다. 매개 변수 형식 이 Object 이기 때 문 입 니 다.
그래서 대상 요 소 를 저장 할 때 모두 Object 로 향상 되 었 습 니 다.
2. 사실 집합 에 저 장 된 것 은 모두 대상 의 인용 이다.
[교체 기로 꺼 낼 때 사실 꺼 낸 것 도 인용 입 니 다.]
(인용 을 꺼 냈 습 니 다. 인용 은 주소 값 입 니 다. 그러면 이 주소 값 에 대응 하 는 요 소 를 어떻게 꺼 내야 합 니까?)
【NOTICE】
coll. add (5), 기본 데이터 형식 을 저장 할 수 없습니다.
jdk 1.5 이후 자동 포장 메커니즘 이 생 겼 는데 new Integer (5), 포장 Integer. valueOf (5) 에 해당 합 니 다.
coll. add (Integer. valueOf (5) 와 같 음;
[작은 디 테 일 집합 2] - 집합 에 사용자 정의 대상 을 저장 합 니 다.
1. 사용자 정의 대상 에 대한 설명.
저장 할 때 모두 Object 로 승급;꺼 낼 때 사용자 정의 대상 특유 의 방법 을 사용 하려 면 아래로 전환 해 야 합 니 다.
주의사항: 교체 시 순환 중 next () 만 있 으 면 됩 니 다.
System.out.println(((Person)it.next()).getName()+ ":" + ((Person)it.next()).getAge( ));
그렇지 않 으 면 던 집 니 다: NoSuchElement Exception!
java.util.NoSuchElementException
[어떻게 집합 에 사용자 정의 대상 을 저장 합 니까?]
ArrayListDemo2.java
HashSetDemo.java
TreeSetTest.java
여섯: Collection 의 두 부분 집합 List && Set 프로필 및 하위 클래스:
집합 프레임 워 크 (3) - Collection 부분 집합 - - List 와 그 동생 들!
집합 프레임 워 크 (4) - Collection 부분 집합 - Set 과 그의 동생 들!
7: 집합의 기교 성 파악;
1. 구체 적 인 집합 대상 이름 의 접 두 사 를 명 확 히 한다.
접미사 가 List 라면 모두 List 시스템 에 속 하 며, 일반적으로 동기 화 되 지 않 습 니 다.
접미사 가 Set 이면 모두 Set 시스템 에 속 하 며 동기 화 되 지 않 습 니 다.
이 시스템 의 다른 하위 클래스 대상 은 접미사 가 속 한 인터페이스 이름 이 아니 라 동기 화 됩 니 다.
이것 은 상용 하위 대상 에서 통용 된다.
2. 데이터 구 조 를 명 확 히 한다.
jdk 1.2 버 전의 하위 클래스 대상 에 대해접미사 이름 은 소속 시스템 입 니 다.
접두사 이름 은 데이터 구조의 이름 입 니 다.
예 를 들 면:
Array List: Array 를 보면 배열 구조 임 을 명 확 히 해 야 합 니 다.조회 가 빠르다
링크 리스트: 링크 를 보면 링크 구 조 를 명 확 히 하고 add 를 생각해 야 합 니 다. get remove 와 first last 를 결합 하 는 방법.첨삭 속도
HashSet: hash 를 보면 해시 표 임 을 명 확 히 해 야 합 니 다. 조회 가 빠 르 고 저 장 된 대상 이 유일 합 니 다.
요소 가 hashCode 방법 과 equals 방법 을 덮어 써 야 한 다 는 것 을 생각해 야 합 니 다.
TreeSet: 트 리 를 보면 이 진 트 리 를 명 확 히 하고 요 소 를 정렬 할 수 있 습 니 다.
두 가지 정렬 방식 을 생각해 야 한다.
자연 정렬: Comparable 인터페이스, compareTo (매개 변수) java. lang 덮어 쓰기
비교 기 정렬: Comparator 인터페이스, copare (두 매개 변수) 덮어 쓰기: java. util
요소 의 유일 성 을 판단 하 는 근 거 는 비교 방법의 반환 결과 return 0 이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
node.js 파충류 프레임워크 node-crawler 첫 체험바이두 파충류라는 단어는 일반적으로 나타나는python 관련 자료이다. py에도 파충류 프레임이 많은데, 예를 들면 scrapy, Portia, Crawley 등이다. 이전에는 개인적으로 C#로 파충류를 만드는 것을...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.