用于比较两个集合的 Java 程序

javaobject oriented programmingprogramming更新于 2024/8/6 19:16:00

Java 集合框架提供了一个名为 Set 的接口,该接口扩展了 Collection 接口并用于存储唯一元素。它描述了数学集合的特征。因此,它允许我们可以在数学集合上执行的所有操作,例如并集、比较、交集等。本文的目的是编写 Java 程序来比较两个集合。对于两个集合的比较操作,Java 提供了一个内置方法"equals()",我们将在下一节中讨论。

用于比较两个集合的 Java 程序

我们将在 Java 程序中使用以下类和方法来比较两个集合 -

TreeSet 类

由于 Set 是一个接口,我们不能直接使用它的功能。为此,我们需要实现 Set 接口的 TeeSet 类,这意味着它可以访问 Set 的所有方法。它以树形结构的形式存储所有元素,并且像 Set 一样,它不允许存储重复的元素。

equals() 方法

它是 Set 的一种方法,用于检查两个给定集合是否包含相同数量和类型的对象,并且顺序是否相同。如果两个集合都满足条件,则返回 true,否则返回 false。

语法

setOne.equals(setTwo);

现在,让我们进入 Java 程序来比较和检查两个给定集合是否相等。

示例 1

在下面的 Java 程序中,我们将创建两个具有相同元素但顺序不同的 TreeSet 类。尽管如此,当我们使用 equals() 方法比较它们时,它将返回 true,因为默认情况下 TreeSet 以排序顺序存储其元素。

import java.util.*;
public class Example1 {
   public static void main(String args[]) {
        // 创建第一个树集
        TreeSet<String> treeSt1 = new TreeSet<>();
        // 在树集中添加元素
        treeSt1.add("Tutorix");
        treeSt1.add("Simply");
        treeSt1.add("Easy");
        treeSt1.add("Learning");
        treeSt1.add("Tutorials");
        treeSt1.add("Point");
        System.out.println("第一个集合的元素:" + treeSt1);
        // 创建第二个树集
        TreeSet<String> treeSt2 = new TreeSet<>();
        // 在树集中添加元素
        treeSt2.add("Tutorials");
        treeSt2.add("Point");
        treeSt2.add("Tutorix");
        treeSt2.add("Simply");
        treeSt2.add("Easy");
        treeSt2.add("Learning");
        System.out.println("第二个集合的元素:" + treeSt2);
        // 比较两个集合
        if (treeSt1.equals(treeSt2)) {
        System.out.println("两个集合相等");
        } else {
        System.out.println("两个集合不相等");
        }
   }
}

输出

第一个集合的元素:[Easy, Learning, Point, Simply, Tutorials, Tutorix]
第二个集合的元素:[Easy, Learning, Point, Simply, Tutorials, Tutorix]
两个集合相等

示例 2

这是另一个 Java 程序,它说明了如何使用 equals() 方法比较两个集合。我们将首先初始化两个数组,然后使用 asList() 方法将它们转换为集合,以便我们可以使用 equals() 方法进行比较。

import java.util.*;
public class Example2 {
   public static void main(String[] args) {
        // 定义第一个数组
        String arrOne[] = { "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y" };
        // 创建 TreeSet 的实例并存储第一个数组的值
        TreeSet<String> trSet1 = new TreeSet<String>(Arrays.asList(arrOne));
        System.out.println("第一个集合的元素:" + trSet1);
        // 定义第二个数组
        String arrTwo[] = { "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y" };
        // 创建 TreeSet 的实例并存储第二个数组的值
        TreeSet<String> trSet2 = new TreeSet<String>(Arrays.asList(arrTwo));
        System.out.println("第二个集合的元素:" + trSet2);
        // 比较两个集合
        if (trSet1.equals(trSet2)) {
        System.out.println("两个集合相等");
        } else {
        System.out.println("两个集合不相等");
        }
   }
}

输出

第一个集合的元素:[P、Q、R、S、T、U、V、W、X、Y]
第二个集合的元素:[P、Q、R、S、T、U、V、W、X、Y]
两个集合相等

结论

我们从定义 Java Collection Framework 的 Set 接口开始本文,在下一节中,我们编写了两个 Java 程序来比较和检查两个给定集合是否相等。为此,我们使用了 TreeSet 类和 Set 接口的 equals() 方法。


相关文章