Legacy Class in Java2025 年 3 月 28 日 | 阅读 6 分钟 在过去十年中,Java 中并未包含 Collection 框架。在 Java 的早期版本中,我们有几个类和接口可以存储对象。在 JSE 1.2 中添加 Collection 框架后,为了支持集合框架,这些类被重新设计了。因此,在旧版本的 Java 中构成集合框架的类和接口被称为 遗留类。为了支持 JDK5 中的泛型,这些类被重新设计了。 所有遗留类都是同步的。java.util 包定义了以下 遗留 类
![]() Vector 类Vector 是一种特殊的 ArrayList,它定义了一个动态数组。ArrayList 不同步,而 vector 是同步的。Vector 类有几个遗留方法,这些方法在集合框架中不存在。在 JDK 5 发布后,Vector 实现 Iterable,这表明 Vector 与集合完全兼容,并且可以通过 for-each 循环迭代 Vector 元素。 Vector 类提供了以下四种构造函数 1) Vector() 当我们想要创建一个初始大小为 10 的默认向量时使用它。 2) Vector(int size) 用于创建指定容量的向量。它接受 size 作为参数来指定初始容量。 3) Vector(int size, int incr) 用于创建指定容量的向量。它接受 size 和 increment 两个参数,用于指定初始容量以及向量在添加对象而调整大小时分配元素的数量。 4) Vector(Collection c) 用于创建包含集合中相同元素的向量。它接受集合作为参数。 VectorExample.java 输出 ![]() Hashtable 类Hashtable 类类似于 HashMap。它也以键/值对的形式存储数据。因为它已同步,所以不允许输入任何 null 键和值。就像 Vector 一样,Hashtable 也有以下四种构造函数。 1) Hashtable() 当我们希望创建一个默认大小为 11 的 HashTable 时使用它。 2) Hashtable(int size) 用于创建指定大小的 HashTable。它接受 size 作为参数来指定其初始大小。 3) Hashtable(int size, float fillratio) 它创建指定大小和填充比率的 Hashtable。它接受两个参数:size(类型为 int)和 fillratio(类型为 float)。fillratio 必须在 0.0 到 1.0 之间。fillratio 参数决定在哈希表被向上调整大小时可以填满的程度。这意味着当我们输入的元素超过其容量或大小时,Hashtable 会通过将其大小乘以 fullratio 来扩展。 4) Hashtable(Map< ? extends K, ? extends V> m) 用于创建 Hashtable。Hashtable 会用 m 中存在的元素进行初始化。Hashtable 的容量是 m 中存在的元素数量的两倍。 HashtableExample.java 输出 ![]() Properties 类Properties 类继承自 Hashtable 类,用于维护值列表。该列表的键和值都是字符串类型。Property 类有两个构造函数 1) Properties() 用于创建一个没有默认值的 Properties 对象。 2) Properties(Properties propdefault) 用于使用指定的 Properties 类型参数来创建 Properties 对象作为其默认值。 Hashtable 和 Properties 类之间的主要区别在于,在 Hashtable 中,我们无法设置默认值,以便在没有与某个键关联的值时使用它。但在 Properties 类中,我们可以设置默认值。 PropertiesExample.java 输出 ![]() Stack 类Stack 类继承自 Vector 类,该类遵循 LIFO(后进先出)原则来处理其元素。Stack 实现只有一个默认构造函数,即 Stack()。 1) Stack() 用于创建一个不包含任何元素的栈。 可以使用以下方法处理 Stack 类
StackExample.java 输出 ![]() Dictionary 类Dictionary 类在功能上与 Map 非常相似,并代表 键/值 存储库。Dictionary 类是一个抽象类,它以键/值对的形式存储数据。我们可以将字典定义为键/值对的列表。 Dictionary 类提供了以下方法
DictionaryExample.java 输出 ![]() 以上讨论的所有类都称为遗留类。为了支持 JDK5 中的泛型,对上述讨论的类进行了重新设计。 |
错误“未找到 Java 虚拟机”是由 IDE 抛出的,IDE 用于执行 Java 代码,例如 Eclipse 或 Netbeans IDE。通常在我们开始在系统上打开 Eclipse IDE 时发生,但它不会打开,因为它……
阅读 4 分钟
java.nio.FloatBuffer 类有一个 duplicate() 函数。要创建共享 supplied buffer 内容的新 float buffer,请使用 FloatBuffer 类。此 buffer 的内容将构成新 buffer。新 buffer 将反映对此 buffer 所做的更改……
阅读 4 分钟
使用费马小定理可以有效地处理在素数 p 模下计算组合的任务。组合公式 nCr 表示从 n 个元素的集合中选择 r 个元素的总方法数。费马小定理提供了一种计算模运算的有效方法……
阅读 10 分钟
给定一个整数数组 (arr) 和一个整数目标,我们需要找到通过对 arr 的非空子数组执行按位 AND 运算可以得到的、最接近目标的数字。任务是返回两个...
阅读 8 分钟
逆向工程是软件开发中的一个关键过程,它使开发人员能够深入了解现有代码库。它使他们能够理解复杂的系统、识别设计模式并提高可维护性。逆向工程的强大工具之一是 ArgoUML,一个流行的开源...
阅读 3 分钟
在本节中,我们将学习什么是 Hogben 数,并创建 Java 程序来计算 Hogben 数。Hogben 数程序经常在 Java 编码面试和学术界被问到。Hogben 数 Hogben 数是递归定义的数字:H(n) =...
阅读 3 分钟
在 Java 中,当组织包含重复元素的集合以及借助 Multiset 统计元素频率时。Java SE 在其标准库中不支持 Multiset 作为接口,但它可以由第三方框架(如 Google...)支持。
5 分钟阅读
(JFR) 是一个强大的性能监控和分析工具。它可以在出现灾难性故障时持续诊断、收集和监控正在运行的 Java 应用程序。它已集成到 JVM 中。该工具为应用程序性能分析提供了强大的 GUI。它用于...
阅读 12 分钟
Flutter 和 Java 都用于开发跨平台应用程序。Flutter 是 Google 的跨平台移动框架。Flutter 帮助开发人员和设计师为 Android 和 iOS 构建现代移动应用程序。Java 是最广泛使用的面向对象和面向类的编程语言之一,用于移动开发...
阅读 3 分钟
什么是?Spark是一个Java微框架,允许您快速创建Java 8 Web应用程序。Spark是一个轻量级且简单的Java Web框架,专为快速开发而设计。它受到了流行的Ruby微框架Sinatra的启发。Spark大量使用了……
阅读 8 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India