交互式爱情
是的,您可以使用它contains()来查看像给定Map对象这样的对象是否在Set您拥有的内部。该contains()方法将使用equals()方法进行比较的对象,和equals()的方法HashMap被定义如下:比较指定对象与此映射是否相等。返回true如果给定对象也是一个映射并且两个映射表示相同的映射。更正式地说,两个映射m1和m2表示相同的映射,如果m1.entrySet().equals(m2.entrySet())。这确保了 equals 方法可以在Map接口的不同实现中正常工作。请参阅以下示例源代码:import java.util.Map;import java.util.Set;import java.util.HashMap;import java.util.HashSet;public class Test { public static void main(String[] args) { Set<Map<Integer, Integer>> sets = new HashSet<Map<Integer, Integer>>(); Map<Integer, Integer> m1 = new HashMap<Integer, Integer>(); m1.put(1, 4); m1.put(2, 3); sets.add(m1); Map<Integer, Integer> m2 = new HashMap<Integer, Integer>(); m2.put(1, 4); m2.put(6, 7); sets.add(m2); System.out.println(sets); Map<Integer, Integer> m3 = new HashMap<Integer, Integer>(); System.out.println(m3+" | "+sets.contains(m3)); m3.put(6, 7); System.out.println(m3+" | "+sets.contains(m3)); m3.put(1, 4); System.out.println(m3+" | "+sets.contains(m3)); }}这将生成以下输出:[{1=4, 2=3}, {1=4, 6=7}]{} | false{6=7} | false{1=4, 6=7} | true您会在最后看到该contains()方法将返回,true因为它与Map您的Set.