2010-07-23 4 views

답변

192

우선 : ListCollection입니다. 그러나 전문 Collection입니다.

Collection은 다음과 같습니다. 항목 모음. 물건을 추가하고, 물건을 제거하고, 물건을 반복하고 물건이 얼마나 많은지 질문 할 수 있습니다.

List

그것에 물건의 정의 된 순서에 대한 정보를 추가합니다 : 당신은 위치 N에있는 요소를 얻을 수 있습니다, 당신은 위치 N에 요소를 추가 할 수 있습니다, 당신은 위치에있는 요소를 제거 할 수 있습니다 N .

Collection에는 정의 된 순서가 없기 때문에 "이 컬렉션의 다섯 번째 요소"가 정의되어 있지 않습니다.

다른 특수한 컬렉션도 있습니다 (예 : Set). 동일한 요소를 두 번 포함하지 않는 기능을 추가합니다.

+6

예, list는 콜렉션의 정렬 된 특수화입니다 (그러나 정렬되지 않음). +1 – atamanroman

+2

Java의 List는 Collections 인터페이스를 확장하고 위치 기반 검색 및 제거 동작을 돕는 색인화 된 함수를 빌드합니다. – frictionlesspulley

137

Collection은 Java Collections 계층에 대한 루트 인터페이스입니다. List은 순서화 된 컬렉션을 정의하는 하나의 하위 인터페이스이며 다른 하위 인터페이스는 일반적으로 처리 할 수있는 요소 (예 : stack)를 저장하는 Queue입니다.

java collections

+0

이미지를 좋아하기 때문에 SCJP를 준비하면서 보았지만 요즘에는 그 모든 것들을 거의 잊어 버렸습니다. –

+1

이 이미지는 [이 블로그에서 가져온 것으로] 인정해야합니다 (http://www.programcreek.com/2009/02/the-interface-and-class-hierarchy-for-collections/). 나도 처음 [K & B SCJP book] (http://www.amazon.com/SCJP-Certified-Programmer-Java-310-065/dp/0071591060/)에서 이와 같은 다이어그램을 보았습니다. – krock

+0

scjp cert에서 많은 것을 배울 수 있습니다.이 주제에 대한 대부분의 책은 멋져요. – atamanroman

2

컬렉션 다른 객체의 컬렉션을 포함 할 수있는 자바 오브젝트를 기술하는 고레벨 인터페이스이다

다음 그림은 다른 자바 콜렉션 유형 사이의 관계를 보여준다. 동일한 오브젝트의 여러 사본이 같은 콜렉션에 존재할 수 있는지 또는 순서가 중요한지 여부에 관계없이 액세스 방법에 대해서는 그다지 구체적이지 않습니다. 리스트은 구체적으로는 이며 오브젝트 컬렉션이 지정되어 있습니다. 특정 순서로 개체를 목록에 넣으면 해당 순서대로 유지됩니다.

이 두 인터페이스를 사용할 위치를 결정하는 것은 사용하는 구체적인 구현이 무엇인지 결정하는 것보다 훨씬 덜 중요합니다. 이것은 프로그램의 시간과 공간 성능에 영향을 미칩니다. 예를 들어 목록을 원할 경우 ArrayList 또는 LinkedList를 사용할 수 있습니다. 각 목록은 응용 프로그램에 대한 의미를 갖습니다. 다른 컬렉션 유형 (예 : 집합)의 경우 유사한 고려 사항이 적용됩니다.

2

Collection은 List의 Super 인터페이스이므로 모든 Java 목록도 컬렉션의 인스턴스입니다. 모음은 순차적으로 만 반복 가능하며 (특정 순서가 없음) List는 get(int index) 메소드를 통해 특정 위치의 요소에 대한 액세스를 허용합니다.

7

자바 API 컬렉션 계층이

컬렉션

에게 루트 인터페이스에 대답 최고입니다.컬렉션은 요소로 알려진 개의 개체 그룹을 나타냅니다. 일부 컬렉션에서는 중복 요소를 허용하고 다른 컬렉션은 허용하지 않습니다. 일부는 주문되었고 다른 주문은 정렬되지 않았습니다. JDK는이 인터페이스의 직접 구현을 제공하지 않습니다. 은 의 특정 서브 인터페이스와 List와 같은 특정 서브 인터페이스의 구현을 제공합니다. 이 인터페이스는 보통 을 사용하여 컬렉션을 전달하고 은 최대 일반성이 필요한 곳에서 조작합니다.

목록

(또한 순서라고도 함) 수집을 주문 (컬렉션 확장). 이 인터페이스의 사용자 은 의 각 요소가 삽입 된 위치를 정확하게 제어합니다. 사용자는 정수 인덱스 (목록의 위치) 인 을 사용하여 요소에 액세스하고 목록에서 요소를 검색 할 수 있습니다.

집합과 달리 목록에는 일반적으로 중복 요소 개가 허용됩니다. 좀 더 형식적으로는 목록은 대개 요소 쌍 e1과 e2가 e1.equals (e2)가되도록 허용하며, 일반적으로 은 null 요소를 허용하는 경우 여러 개의 null 요소를 허용합니다. 누군가가 에 대한 사용자 시도를 삽입 할 때 런타임에게 예외를 던져, 중복을 금지하는리스트를 구현하는 을 할 수 있다는 상상도하지 이지만, 우리는이 사용 는 드문 것으로 기대합니다.

2

Collection은 Java Collections 계층의 기본 인터페이스이며 List (Sequence)는 정렬 된 컬렉션을 정의하는 하위 인터페이스 중 하나입니다.

0

List 및 Set은 Collection의 두 하위 클래스입니다.

목록에있는 데이터는 특별한 순서입니다.

집합에서 동일한 데이터를 두 번 포함 할 수 없습니다.

컬렉션에서는 특정 순서없이 데이터를 저장하며 중복 데이터를 포함 할 수 있습니다.

관련 문제