📜  Java中的 LinkedHashSet equals() 方法及示例(1)

📅  最后修改于: 2023-12-03 15:01:54.409000             🧑  作者: Mango

Java中的 LinkedHashSet equals() 方法及示例

LinkedHashSet是Java集合框架中的一个类,它继承自HashSet类,因此它具备了HashSet的所有特性,但是它还保留了元素的插入顺序,这是HashSet所不具备的。LinkedHashSet类中的equals()方法用于比较两个集合是否相等。

LinkedHashSet类

LinkedHashSet类是Java集合框架中的一个类,它继承自HashSet类,因此它具备了HashSet的所有特性,但是它还保留了元素的插入顺序,这是HashSet所不具备的。

LinkedHashSet的常用构造方法如下:

public LinkedHashSet()
public LinkedHashSet(int initialCapacity)
public LinkedHashSet(int initialCapacity, float loadFactor)
public LinkedHashSet(Collection<? extends E> c)
equals()方法

LinkedHashSet类中的equals()方法用于比较两个集合是否相等。该方法定义在HashSet类中,并且被LinkedHashSet继承。

equals()方法的基本语法如下:

public boolean equals(Object o)

其中,o表示要比较的对象。

equals()方法比较的是两个集合是否元素相同,并且元素的顺序相同。如果两个集合中的元素个数相同,并且每个元素都在另一个集合中出现,那么这两个集合就是相等的。

示例

下面是一个使用equals()方法比较两个LinkedHashSet是否相等的示例:

import java.util.LinkedHashSet;

public class LinkedHashSetDemo {
    public static void main(String[] args) {
        LinkedHashSet<Integer> set1 = new LinkedHashSet<>();
        set1.add(1);
        set1.add(2);
        set1.add(3);

        LinkedHashSet<Integer> set2 = new LinkedHashSet<>();
        set2.add(3);
        set2.add(2);
        set2.add(1);

        LinkedHashSet<Integer> set3 = new LinkedHashSet<>();
        set3.add(1);
        set3.add(2);
        set3.add(4);

        System.out.println("set1.equals(set2):" + set1.equals(set2));
        System.out.println("set1.equals(set3):" + set1.equals(set3));
    }
}

输出结果如下:

set1.equals(set2):true
set1.equals(set3):false

由此可见,set1与set2相等,因为它们包含相同的元素,并且元素的顺序也相同,而set1与set3不相等,因为它们包含的元素不完全相同。