나는 과장된 말을 보았습니다. "JDK 소스 코드를 읽지 않은 사람들은 Java를 배운 것으로 간주되지 않습니다." 오늘부터 소스 코드를 집중적으로 읽으십시오. 집중적 인 판독에 적합한 소스 코드는 java.io, .util 및 .lang이 포장 한 클래스에 지나지 않습니다.
인터뷰 질문에는 여전히 세트에 대한 많은 시험이 있으므로 세트의 소스 코드로 시작하겠습니다.
(1) 우선, 컬렉션 인터페이스.
컬렉션은 모든 컬렉션 클래스의 루트 인터페이스입니다. 컬렉션은 반복 가능, 즉 컬렉션의 모든 클래스가 Foreach 메소드를 사용할 수 있습니다.
/*** 컬렉션은 모든 컬렉션 클래스의 루트 인터페이스입니다. * 컬렉션은 반복 가능성을 상속합니다. 즉, 컬렉션의 모든 클래스는 Foreach 메소드를 사용할 수 있습니다. * @author wgs * @param <e> */public interface 컬렉션 <e> interable <e> {// 컬렉션의 요소의 크기를 반환합니다. (이 크기 값이 integer.max_value를 초과하는 경우 integer.max_value) int size (); // 세트가 비어있는 부울인지 판단합니다. 순서) iterator <e> iterator (); // 배열 형태로 세트의 모든 요소를 반환하고 배열은 안전한 개체 [] toArray (); // 배열 <t> t [] toArray (t [] a) 형태로 지정된 배열 유형의 설정 요소를 반환합니다. 예 -false, no -true (이 방법은 종종 설정, 맵에서 호출됩니다. 프로그래밍 질문에 매우 유용합니다) boolean add (e e); // 세트 부울 제거에서 지정된 요소를 제거합니다 (Object O); // 요소에 Boolean의 컬렉션에 모든 요소를 포함하는지 여부를 결정하기 위해 (// collection in extend e extend e); 지정된 세트 (즉, 두 세트의 교차점을 제거) 부울 removeall (collection <?> c); // 지정된 세트의 모든 요소를 제거하십시오 (즉, 두 세트의 교차 부품을 제거) 부울 RemoveAlell (Collection <? c); // 컬렉션에 Addall addall (collection a Addall)에 지정된 모든 요소를 제거). 세트 (즉, 두 세트의 교차점을 제거) 부울 removeall (collection <?> c); // 지정된 세트와 동일한 요소를 유지합니다 (즉, 지정된 세트와 다른 요소를 제거) 부울 retainall (collection <?> c); // set void clear ()와 동일하게 지정된 요소 부울 (대상)과 동일합니다. int hashcode ();} 세트요약
위의 내용은 JDK 소스 코드 판독 컬렉션에 대한 자세한 설명에 대한이 기사의 모든 내용입니다. 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구는이 사이트의 다른 관련 주제를 계속 참조 할 수 있습니다. 단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!