HashSet使用散列来操作数据。 让我们看一个示例−
import java.util.*; public class Demo{ private final String f_str, l_str; public Demo(String f_str, String l_str){ this.f_str = f_str; this.l_str = l_str; } public boolean equals(Object o){ if (o instanceof Demo) return true; Demo n = (Demo)o; return n.f_str.equals(f_str) && n.l_str.equals(l_str); } public static void main(String[] args){ Set<Demo> my_set = new HashSet<Demo>(); my_set.add(new Demo("Joe", "Goldberg")); System.out.println("将新元素添加到集合中"); System.out.println("该集合是否包含该对象的新实例? "); System.out.println(my_set.contains(new Demo("Jo", "Gold"))); } }
输出结果
将新元素添加到集合中 该集合是否包含该对象的新实例? false
Demo”类包含最后一个字符串和一个构造函数。 定义了一个equals函数,用于检查对象是否为特定类的实例。 如果是实例,则返回true,否则将对象强制转换为类并使用‘equals’函数进行检查。 在main函数中,创建一个新集并创建一个实例。 这是使用“instanceof”运算符检查的。