📅  最后修改于: 2023-12-03 15:01:54.409000             🧑  作者: Mango
LinkedHashSet是Java集合框架中的一个类,它继承自HashSet类,因此它具备了HashSet的所有特性,但是它还保留了元素的插入顺序,这是HashSet所不具备的。LinkedHashSet类中的equals()方法用于比较两个集合是否相等。
LinkedHashSet类是Java集合框架中的一个类,它继承自HashSet类,因此它具备了HashSet的所有特性,但是它还保留了元素的插入顺序,这是HashSet所不具备的。
LinkedHashSet的常用构造方法如下:
public LinkedHashSet()
public LinkedHashSet(int initialCapacity)
public LinkedHashSet(int initialCapacity, float loadFactor)
public LinkedHashSet(Collection<? extends E> c)
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不相等,因为它们包含的元素不完全相同。