亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

Java - 集合框架

在 Java 2 之前,Java 提供了诸如 Dictionary、Vector、Stack、 之类的 ad hoc 类 和属性 存储和操作对象组。尽管这些课程非常有用,但它们缺乏一个中心统一的主题。因此,您使用 Vector 的方式与使用 Properties 的方式不同。

集合框架旨在满足多个目标,例如 -

为此,整个集合框架是围绕一组标准接口设计的。 LinkedList、HashSet、等几种标准实现 和 树集 ,其中提供了这些接口,您可以按原样使用,也可以实现自己的集合,如果您愿意的话。

集合框架是用于表示和操作集合的统一架构。所有集合框架都包含以下内容 -

除了集合之外,该框架还定义了几个地图接口和类。地图存储键/值对。虽然地图不是集合 在正确使用该术语时,它们与集合完全集成。

集合接口

集合框架定义了几个接口。本节提供每个接口的概述 -

Sr.No. 界面和说明
1 集合接口

这使您能够处理对象组;它位于集合层次结构的顶部。

2 列表接口

这扩展了 Collection List 的一个实例存储了一个有序的元素集合。

3 套装

这将 Collection 扩展为处理集合,这些集合必须包含唯一元素。

4 排序集

这扩展了 Set 以处理已排序的集合。

5 地图

这会将唯一键映射到值。

6 地图.Entry

这描述了映射中的元素(键/值对)。这是 Map 的内部类。

7 SortedMap

这扩展了 Map 以便以升序维护键。

8 枚举

这是遗留接口定义的方法,您可以通过这些方法枚举(一次获取一个)对象集合中的元素。这个遗留接口已被迭代器取代。

集合类

Java 提供了一组实现 Collection 接口的标准集合类。其中一些类提供了可以按原样使用的完整实现,而另一些则是抽象类,提供了用作创建具体集合的起点的骨架实现。

下表总结了标准集合类 -

Sr.No. 类和描述
1

抽象集合

实现了大部分的 Collection 接口。

2

抽象列表

扩展 AbstractCollection 并实现了大部分 List 接口。

3

抽象序列表

扩展 AbstractList 以供使用顺序而不是随机访问其元素的集合使用。

4 链表

通过扩展 AbstractSequentialList 实现链表。

5 数组列表

通过扩展 AbstractList 实现动态数组。

6

抽象集

扩展 AbstractCollection 并实现了大部分 Set 接口。

7 哈希集

扩展 AbstractSet 以与哈希表一起使用。

8 LinkedHashSet

扩展 HashSet 以允许插入顺序迭代。

9 树集

实现存储在树中的集合。扩展 AbstractSet。

10

抽象地图

实现了大部分 Map 接口。

11 HashMap

扩展 AbstractMap 以使用哈希表。

12 树图

扩展 AbstractMap 以使用树。

13 弱哈希映射

扩展 AbstractMap 以使用带有弱键的哈希表。

14 LinkedHashMap

扩展 HashMap 以允许插入顺序迭代。

15 IdentityHashMap

扩展 AbstractMap 并在比较文档时使用引用相等。

AbstractCollection、AbstractSet、AbstractList、AbstractSequentialList抽象地图 类提供核心集合接口的骨架实现,以尽量减少实现它们所需的工作量。

java.util 定义的以下遗留类在前一章中已经讨论过 -

Sr.No. 类和描述
1 矢量

这实现了一个动态数组。类似于ArrayList,但有一些不同。

2 堆栈

Stack 是 Vector 的子类,实现了标准的后进先出堆栈。

3 字典

Dictionary 是一个抽象类,代表一个 key/value 存储库,操作起来很像 Map。

4 哈希表

Hashtable 是原始 java.util 的一部分,是 Dictionary 的具体实现。

5 属性

属性是 Hashtable 的子类。它用于维护键为字符串且值也是字符串的值列表。

6 位集

BitSet 类创建一种特殊类型的数组来保存位值。这个数组可以根据需要增加大小。

收集算法

集合框架定义了几种可应用于集合和地图的算法。这些算法在 Collections 类中被定义为静态方法。

有几个方法可以抛出 ClassCastException ,当尝试比较不兼容的类型或 UnsupportedOperationException 时发生 ,当尝试修改不可修改的集合时会发生这种情况。

集合定义了三个静态变量:EMPTY_SET、EMPTY_LIST 和 EMPTY_MAP。都是不可变的。

Sr.No. 算法和描述
1 收集算法

这是所有算法实现的列表。

如何使用迭代器?

通常,您会希望循环浏览集合中的元素。例如,您可能希望显示每个元素。

最简单的方法是使用迭代器,它是一个实现 Iterator 或 ListIterator 接口的对象。

迭代器使您能够循环通过集合、获取或删除元素。 ListIterator 扩展了 Iterator 以允许列表的双向遍历和元素的修改。

Sr.No. 迭代器方法和描述
1 使用 Java 迭代器

以下是Iterator和ListIterator接口提供的所有方法的列表。

如何使用比较器?

TreeSet 和 TreeMap 都以排序顺序存储元素。然而,正是比较器准确地定义了排序顺序 意思。

这个接口允许我们以任意数量的不同方式对给定的集合进行排序。此外,此接口可用于对任何类的任何实例进行排序(甚至是我们无法修改的类)。

Sr.No. 迭代器方法和描述
1 使用 Java 比较器

以下是 Comparator Interface 提供的所有方法和示例的列表。

总结

Java 集合框架使程序员可以访问预打包的数据结构以及操作它们的算法。

集合是可以保存对其他对象的引用的对象。集合接口声明了可以对每种类型的集合执行的操作。

集合框架的类和接口在java.util包中。


java

  1. Java 运算符
  2. Java 评论
  3. Java for-each 循环
  4. Java 字符串
  5. Java 接口
  6. Java 匿名类
  7. Java try-with-resources
  8. Java 注释
  9. Java 断言
  10. C# 集合教程与示例
  11. Java - 集合框架
  12. Java 10 - 增强的垃圾收集