欢迎访问宙启技术站
智能推送

contains()方法判断集合是否包含某个元素?

发布时间:2023-06-27 01:00:43

Java中的contains()方法是集合类(Collection)的一种方法,用于判断集合中是否包含某个元素。contains()方法返回一个boolean类型的值,如果集合中包含指定的元素,则返回true,否则返回false。

contains()方法的语法如下:

boolean contains(Object o)

其中,Object o为要判断是否存在于集合中的元素,返回一个boolean类型的值。

contains()方法在List、Set、Map等各种集合类中都可以使用,不同的集合类具有不同的实现方式。下面分别介绍List、Set、Map三种集合类中的contains()方法。

1. List中的contains()方法

List接口继承了Collection接口,因此也具有contains()方法。在List中,contains()方法是通过遍历整个List来进行元素查找的,因此效率比较低。如果要在List中查找某个元素,可以使用contains()方法,例如:

List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
if (list.contains("a")) {
    System.out.println("List中包含元素a");
}

上述代码中,通过调用contains()方法判断List中是否包含"a"元素,如果存在则输出提示信息。注意,在使用contains()方法进行查找时需要确保List中的元素已经实现了equals()方法,否则contains()方法会返回false。

2. Set中的contains()方法

Set是一个不允许重复元素的集合,因此在Set中进行包含判断的效率要比List高。Set中的contains()方法的用法与List相同,都是通过查找整个集合中的元素来判断集合中是否包含指定的元素。例如:

Set<String> set = new HashSet<>();
set.add("a");
set.add("b");
set.add("c");
if (set.contains("a")) {
    System.out.println("Set中包含元素a");
}

上述代码中,创建了一个HashSet对象,然后添加了三个元素"a"、"b"、"c",调用contains()方法判断Set中是否包含元素"a",如果存在则输出提示信息。

3. Map中的containsKey()和containsValue()方法

Map是一个键值对映射的集合,其中键不允许重复,但值可以重复。因此在Map中进行元素查找时,使用containsKey()方法通常效率比较高,而containsValue()方法则效率比较低。Map中的containsKey()和containsValue()方法都返回一个boolean类型的值,用于判断集合中是否包含指定的键或值。例如:

Map<String,Integer> map = new HashMap<>();
map.put("a",1);
map.put("b",2);
map.put("c",3);
if (map.containsKey("a")) {
    System.out.println("Map中包含键a");
}
if (map.containsValue(2)) {
    System.out.println("Map中包含值2");
}

上述代码中,创建了一个HashMap对象,然后添加了三组键值对,分别是("a",1)、("b",2)、("c",3),调用containsKey()方法判断Map中是否包含键"a",如果存在则输出提示信息。同时,调用containsValue()方法判断Map中是否包含值2,如果存在则输出提示信息。

总结:

contains()方法是Java集合类中用于判断集合是否包含某个元素的方法。在使用contains()方法时需要注意不同集合类之间的区别,在List中调用contains()方法进行元素查找效率较低,而在Set中效率较高,Map中的containsKey()方法效率较高,而containsValue()方法效率较低。在使用contains()方法时需要确保集合中的元素已经实现了equals()方法,否则contains()方法会返回false。