5
에서 ArrayList의 다중 구현 간의 차이점은 무엇입니까? Java8에서 Stream
을 이해하려고 시도하고 간헐적으로 Java8의 소스 코드에서 흥미로운 점을 발견했습니다. ArrayList
은 두 번 구현 된 것으로 보입니다. (Java8) 소스 코드
명백한 하나
:java.util.ArrayList
비 명백한 : 개인 클래스
java.util.Arrays.ArrayList
을.Arrays.ArrayList
너무 (직접)하지 않는 반면
홀수 번째 차이점은, 통상의 방법 버전 크다는이며 List<E>
을 구현한다.
두 번 정의되는 이유는 무엇입니까? 그리고 왜 같은 이름으로?
Java 8에서는 새로운 기능이 아닙니다. 참조 : http://stackoverflow.com/questions/4792160/arrays-aslist-doubt/4792194#4792194 – assylias
이 클래스는 동일한 이름을 공유하지만 실행되지 않아야합니다. 같은 역할. 'private' 클래스는'Arrays' 내부의 구현 세부 사항이며 배열에'List' 뷰를 제공합니다. 그것은'ArrayViewList' 또는 무엇이라고 불릴 수 있었을 것입니다, 그리고 어쩌면 그것이 척하는 이해에 도움이 될 것입니다. –