(첫 번째 초안이 너무이었다 늦게, 내일, 보완 될)
(1) 오브젝트의 배열 (마스터)
기본 데이터 타입 (1)의 배열은 참조 타입에 저장 될 수 있고, 저장 될 수있다. 이 오브젝트 참조 형 시간 배열의 배열이라고 기억한다.
(2) 케이스 :
저장 개체 배열과 배열을 가진 5 명.
1 패키지 day02; 2 3 / ** 4 * @author WYH 5 * @version 2019年11月12日下午10시 28분 33초 6 * / 7 공용 클래스 테스트 { 8 공용 정적 무효 메인 (문자열 []에 args) { 9 명 학생 [] s는 = 새로운 학생 [2 ]; 10 명 11 학생 S1 = 새로운 학생 ( "샤오", 21 ); 12 명 학생 S2 = 새로운 학생 ( "다", 22 ); (13) (14) S [0] = (S1); 15 S [1] = (S2); 16 17 대 ( INT I = 0; I <s.length; 내가 ++ ) { 18 에서 System.out.println (S [I]); 19 } 20 21 22 } 23 24 }
2, 콜렉션 (수집) (마스터)
(1) 집합의 기원?
객체 지향 - - 작업 많은 개체 - 저장 - 컨테이너 (배열과 StringBuffer를) - 우리는 자바 배울 때 수요를 변경 배열과 배열을 고정 길이를 가지고, 그것을 할 적합하지 않습니다이었다, 자바는 우리의 사용을 위해 모음을 제공합니다 .
(2) 컬렉션과 배열은 구별 할 수 있나요?
A : 길이 차이
고정 배열
변수 모음
B : 내용의 차이
배열은 또한 참조 유형이 될 수 있습니다, 기본 유형이 될 수 있습니다
컬렉션은 참조 유형이 될 수 있습니다
C : 요소의 내용
배열은 같은 유형을 저장할 수 있습니다
다른 유형의 컬렉션을 저장할 수 있습니다 (실제로는 일반 상점의 모음 같은 타입도했다)
(3) 구조의 컬렉션을 상속?
때문에 다양한 요구에, 자바 클래스 세트는 다른,하지만 좀 더 다른 데이터 구조의 모음처럼,하지만 그들도 저장 용기 및 이송 기능을 제공 할 수 있습니다 제공, 우리는 그들을 위로 공통점이 추출 계속
결국 컬렉션 아키텍처를 상속 형성했다.
수집
| --list
| --ArrayList
| --Vector
| --LinkList
| --set
| --HashSet
| --TreeSet
(4) 컬렉션은 기능적인 개요 (이었다 자신의 패딩)
A : 추가 기능
B : 삭제 기능
C : 판정 기능
D : 취득 기능
E : 길이 기능
F : 교차로 (이해)
G : 집합 스위치 어레이 (학습)
(5) 컬렉션 순회주고 설정
A : 배열의 전달 세트 (자세히 알아보기)
(코드 보충)
B : 반복기 (SET 구체적인 예)
(코드 보충)
(6) 반복자
답변 : 요소를 얻는 것은 줄 방법을 제공하도록 설정되어
B : 컬렉션이 존재에 얻을 수있다 따라 다르다
C는 : 반복자는 원칙과 소스 코드를했다
A : 인터페이스가 아닌 구현 클래스를 정의하려면 왜 (클래스가 달성되면, 그들은 구체적인 구현 방법을 제공해야하지만, 우리의 컬렉션에서 많은 사람들이있다, 그것은 인터페이스)
B : 내부 반복자 클래스 구현 보았다
(7) 케이스 Collecton 컬렉션 (순회 반복자)
단계 집합 :
A : 컬렉션 객체를 생성
B : 요소 객체를 생성
C는 : 모음 요소를 추가
D : 컬렉션을
A : 저장 및 이송 문자열
(코드 보충)
B : 사용자 정의 개체와 트래버스를 저장
(코드 보충)
2, 모음 (목록) (마스터)
(1) 컬렉션 인터페이스 하위 목록
기능 : 정렬 (동일한 순서 및 저장 순서에서 찍은)는 반복 될 수있다.
(2) 목록 특정 특징 :( 자신의 패딩을)
A : 추가 기능
B : 삭제 기능
C : 취득 기능
D : iterator 함수
E : 편집
(3) 탐색 기능 목록의 독특한 모음
A : 크기 ()와 GET에 의해 바인딩 ().
B는 : 코드를 보여줍니다
(보충 코드) (반복 기기 A 루프)
(4)리스트 반복자의 특수 기능 :( 이해)
당신은 탐색을 취소 할 수 있습니다,하지만 첫 번째 앞으로 탐색, 그래서 의미, 기본적으로 사용하지 마십시오.
(5) 이상 동시 변경
A : 예외가 발생
컬렉션로 반복은, 컬렉션 컬렉션의 요소를 수정
B : 그 이유
반복자는 2 점 세트 및 설정을 변경하는 방법에 따라 달라집니다, 반복자는 알 수 없습니다.
C : 솔루션
A : 이상 반복 할 때, 반복자를 수정합니다 (반복자)
요소는 반복자 위치에 추가
(코드 보충 )
B : () (크기 () 및 GET) 설정, 변형 집합을 트래버스
요소는 컬렉션의 끝에 추가
(코드 보충)
(6)에 공통의 데이터 구조
A : 고급 스택 후
B : FIFO 큐
C : 빠른 쿼리, 추가 및 삭제의 배열 느린
D : 목록 쿼리 어쨌든, 천천히, 빠르게 추가 및 삭제
(면접 질문)의 특성 서브 클래스 (7) 목록
ArrayList를
기본 데이터 구조는 배열, 질의 빠르고 느린 추가 및 삭제합니다.
스레드 안전, 고효율.
벡터
기본 데이터 구조는 배열, 질의 빠르고 느린 추가 및 삭제합니다.
스레드 안전, 낮은 효율.
LinkedList의
기본 데이터 구조는 빠른 목록, 느린 쿼리, 추가 및 삭제합니다.
스레드 안전, 고효율.
결국 누가 그것을 사용하는 방법? 수요를 봐?
분석 :
보호하려면?
사람 : 벡터 (당신이 원하는 경우에도, 이것은 나중에, 적용되지 않습니다)
안 : ArrayList를 또는 LinkedList의
멀티 쿼리 : ArrayList를
삭제 및 더 많은 : LinkedList의
내가 무엇 선거 때 선거 ArrayList를 모르겠어요.