在 java 中正确定义集合
Properly defining collection in java
在阅读java中的合集和浏览Whosebug上的一些问题时,我遇到了这个问题:
这里已经把数组称为固定集合。从概念上讲,将数组称为 'fixed collection' 是合法的还是自相矛盾的短语?
如果将集合定义为元素的容器,则数组就是集合。
当然,数组不实现 Collection 接口,但是在数组上调用 Arrays.asList(arr)
实际上会为您提供该数组的固定大小的列表视图,因此您可以说数组几乎等同于固定的长度随机访问列表(列表是一个集合)。
collection 框架基本上是一个有效地存储和检索 java object 的 collection 的框架。
关于数据结构概述的一个非常好的link是here
根据这个 link
共有十四个collection接口。最基本的界面是Collection。这些接口扩展 Collection:Set、List、SortedSet、NavigableSet、Queue、Deque、
BlockingQueue 和 BlockingDeque。
其他 collection 接口、Map、SortedMap、NavigableMap、ConcurrentMap 和 ConcurrentNavigableMap 不扩展 Collection,因为它们表示映射
而不是真正的 collections。但是,这些接口包含 collection-view 操作,这使得它们可以作为 collection 进行操作。
现在回到数组,它不是 collection 框架的一部分,但逻辑上它是 collection,因为它可以存储 object 的 collection。即使您开发了可以存储一堆 object 的自定义 class,您也可以在逻辑上将其称为 collection object。
在阅读java中的合集和浏览Whosebug上的一些问题时,我遇到了这个问题:
这里已经把数组称为固定集合。从概念上讲,将数组称为 'fixed collection' 是合法的还是自相矛盾的短语?
如果将集合定义为元素的容器,则数组就是集合。
当然,数组不实现 Collection 接口,但是在数组上调用 Arrays.asList(arr)
实际上会为您提供该数组的固定大小的列表视图,因此您可以说数组几乎等同于固定的长度随机访问列表(列表是一个集合)。
collection 框架基本上是一个有效地存储和检索 java object 的 collection 的框架。
关于数据结构概述的一个非常好的link是here
根据这个 link
共有十四个collection接口。最基本的界面是Collection。这些接口扩展 Collection:Set、List、SortedSet、NavigableSet、Queue、Deque、 BlockingQueue 和 BlockingDeque。 其他 collection 接口、Map、SortedMap、NavigableMap、ConcurrentMap 和 ConcurrentNavigableMap 不扩展 Collection,因为它们表示映射 而不是真正的 collections。但是,这些接口包含 collection-view 操作,这使得它们可以作为 collection 进行操作。
现在回到数组,它不是 collection 框架的一部分,但逻辑上它是 collection,因为它可以存储 object 的 collection。即使您开发了可以存储一堆 object 的自定义 class,您也可以在逻辑上将其称为 collection object。