집합 프레임 워 크 (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 이다.

좋은 웹페이지 즐겨찾기