Java 中的集合与集合:Java 中的集合与集合之间的区别

已发表: 2021-01-29

目录

介绍

本文将探讨 Java 语言中最受欢迎的问题之一——Java 中的集合是什么? 另外,Java 中的集合是什么意思? Java 中的 Collection 和 Collections 是相同还是不同?

什么是收藏?

集合可以简单地描述为一个接口。 在 Collection 的帮助下,我们可以轻松地将各种对象组合成一个单元。 集合构成接口层次结构的根或头。 如果您非常了解 C++ 语言,请考虑将 Collection 的概念与 C++ 语言中的容器非常相似。 该层次结构的其他子接口是 Sets、Lists、Maps、Queue、Deque 等。

Java JDK 不允许我们直接操作 Container 根接口,但允许我们直接访问上面提到的它的子接口。 还有一些我们可以间接访问的子接口。 此类示例包括 – ArrayList、PriorityQueue、Vector、HashSet 等。

需要收藏吗?

这些 Collection 接口通过有效地将它们分组并相应地执行操作来帮助我们处理各种对象。 这些对象可能彼此相似或不同。 基于对象及其处理单个对象的方式,我们有上述子接口。

让我们详细了解一些最常见的 Collection 接口:

  • Set – Sets 最重要的一点是 Sets 不应该包含任何重复的元素或对象。 这个 Set 接口可以从 java 中获取。 实用程序包。 集合不会以任何可预测的顺序返回其集合中的元素。 它是无序的,许多 Java 开发人员经常忘记这一事实,从而在他们的代码中遇到错误。

EnumSet、HashSet、LinkedHashSet、TreeSet、ConcurrentSkipList Set 等是一些可以在 Set 接口上实现的类。

  • List - List 实现可以被认为类似于 Python Lists,但它们确实有一些区别。 Java 中的列表接口是有序元素或对象的集合。 它们是排序的。 此外,与 Set 不同,Lists 可以允许在其集合中重复元素。 像数组一样,可以根据元素的索引或位置访问列表的元素。 使用列表的一些基本操作是——搜索元素、从列表中访问元素等。

Vector、Stack、LinkedList、ArrayList、CopyOnWriteArrayList 是一些最常用的类,可以与 List 接口一起使用。

  • Map – 对于熟悉 Python 的人来说,Map Interface 与 Python 语言中的 Dictionary 数据结构非常相似。 使用 Map 接口,我们可以将数据元素分组并存储在键值对中。 从事实中可以明显看出,每个键在 Map 中都是唯一的,因此没有重复的键。 使用该键,返回其对应的值。

HashMap、HashTable、EnumMap、TreeMap、IdentityHashMap、WeakHashMap是一些可以用Map接口实现的类。

  • 堆栈——大多数程序员已经熟悉堆栈和队列(稍后将讨论队列)。 栈接口是基于通常的后进先出数据结构实现的,即后进先出。 在堆栈中,元素被压入堆栈的一端,元素从堆栈的同一端弹出。
  • 队列——队列接口,基于通常的队列数据结构,实现了先进先出方法。 FIFO 代表先进先出。 简单来说,元素被推入队列的一端并从队列的另一端弹出。

什么是收藏?

Collections只是 java 中的一个实用程序 实用程序包。 Collections 类下的方法是强制静态方法。

需要收藏吗?

集合为开发人员提供了一种更简单的方法来对元素执行某些基本操作,而无需深入了解该操作的细节。 开发人员可以将注意力集中在更大的任务或操作上。 因此,集合类在经验丰富的开发人员中非常方便。

例如 – Collections 类有一个方法来搜索集合中的特定元素。 它还有一个对 Collection 接口的元素进行排序操作的方法。

一些常用的 Collections 类是:

  • Collections.binarySearch() - 使用流行的二进制搜索算法在集合中搜索所需元素。
  • Collections.sort() – 对指定的 Collection 执行排序操作。
  • Collections.max() – 从名称中可以看出,它返回指定集合中的最大元素。
  • Collections.min() – 返回指定集合中的最小元素。
  • Collections.reverse() – 反转指定集合中元素的顺序。
  • Collections.copy() – 顾名思义,使用它,将一个集合中的元素复制到另一个集合。

另请阅读: Java 项目理念和主题

从世界顶级大学在线学习软件课程获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。

结论

所以在 Java 中,Collection 和 Collections 根本不是一回事。 集合是您将对象分组为一个单元的界面。 Collections 是一个实用程序类,它具有您在 Collection 上执行的一些操作集。 Collection 中并不包含所有静态方法,但 Collections 包含的方法都是静态的。

接下来要学什么? 对机器学习和人工智能感兴趣? upGrad 与 IIIT-B 合作提供 ML 和 AI 的 PG 文凭,这将使您在这些最受追捧的领域非常熟练,从而使您的职业生涯硕果累累。

如果您想了解有关软件开发流程和工具的更多信息,请查看专为工作专业人士设计的 upGrad Executive PG Program 全栈开发人员课程。

Java 中的集合是什么?

Java Collection 是 Collection 框架的实现,它提供了许多对集合对象进行分组和组织的类。 集合是一种用于将相似数据存储在一起的数据结构。 集合是用户定义的数据类型。 它用于对集合中的对象进行分组。 集合可以是不可修改的或可修改的。 集合接口定义在 java.lang 包中,该接口由 java.util 包中的一些类实现。 集合是一个泛型类型。 java中Collection的所有子类都应该实现这个接口。 使它们如此有用的原因是它们都实现了一个通用接口。 这样,可以在不进行任何修改的情况下执行集合对象的操作。 这节省了大量时间,并使我们的代码更具可读性、高效性和可重用性。

Java 中的 ArrayList 是什么?

ArrayList 是 Java 中的一个重要类。 它用于存储固定大小的对象列表。 换句话说,它类似于数组。 在 ArrayList 中添加、删除和修改列表内容比在数组中更快。 此外,如果您更改列表的大小,它将自动重新调整大小。 ArrayList 类实现了 List 接口,因此您可以在使用 Java List 的任何地方使用 ArrayList 对象。 ArrayList 类负责根据需要调整大小。 例如,如果您调用 add() 方法,将一个对单元素列表的引用传递给它,则会分配一个新数组来保存该列表。 然后用一个元素填充新数组。 就好像您创建了一个数组,然后用一个元素填充它。 当 ArrayList 对象被拆除时,该数组被丢弃。

什么是 Java 中的 HashMap?

Java 中的 HashMap 基本上是 AbstractMap 接口的实现。 它基本上是一种允许存储和检索键值对的数据结构。 HashMap 和 TreeMap 之间的主要区别在于 HashMap 在创建条目时计算哈希码,而 TreeMap 使用自然排序来对条目进行排序。