在Java中正确定义集合

3

在阅读Java集合并浏览stackoverflow上的一些问题时,我遇到了这个问题:

Java中将对象添加到固定集合(数组)的方法

这里将数组称为固定集合。从概念上讲,将数组称为“固定集合”是合法的吗?还是这是一个自相矛盾的说法?

2个回答

2

如果您将集合定义为元素的容器,则数组是一个集合。

当然,数组并没有实现Collection接口,但在数组上调用Arrays.asList(arr)实际上会给您一个固定大小的List视图,因此您可以说数组几乎等同于具有固定长度和随机访问功能的List(List是一个集合)。


2
一个集合框架基本上是一个能够高效地存储和检索Java对象集合的框架。
这里有一个非常好的关于数据结构概述的链接here
根据这个链接,共有14个集合接口。最基本的接口是Collection。这些接口扩展了Collection:Set、List、SortedSet、NavigableSet、Queue、Deque、BlockingQueue和BlockingDeque。其他的集合接口Map、SortedMap、NavigableMap、ConcurrentMap和ConcurrentNavigableMap没有扩展Collection,因为它们代表映射而不是真正的集合。然而,这些接口包含了集合视图操作,使得它们可以像集合一样被操作。
现在回到数组,它不是集合框架的一部分,但从逻辑上讲它是一个集合,因为它可以存储一组对象。即使你开发自己的自定义类来存储一堆对象,你也可以从逻辑上称之为集合对象。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接