Java list contains
时间: 2023-11-08 09:04:44 浏览: 95
Java中的List的contains方法用于判断一个List集合是否包含指定的元素。它会逐个比对括号中的元素和List中存在的元素,如果有相等的元素,则返回true;如果没有相等的元素,则返回false。下面是一个示例代码:
```java
import java.util.ArrayList;
import java.util.List;
public class ListContainsDemo {
public static void main(String[] args) {
List<String> newList = new ArrayList<>();
newList.add("name");
newList.add("age");
newList.add("sex");
newList.add("birth");
boolean res = newList.contains("birthday");
if (res) {
System.out.println("包含,返回" + res);
} else {
System.out.println("不包含,返回" + res);
}
}
}
```
在这个示例中,我们创建了一个List集合newList,并向其中添加了一些元素。然后使用contains方法来判断newList集合中是否包含元素"birthday"。由于"birthday"并不是newList中的任何一个元素,所以最终结果为false。
需要注意的是,contains方法是通过逐个比对元素来判断是否包含,因此其时间复杂度为O(n),其中n是List中的元素个数。如果需要频繁地判断是否包含某个元素,可以考虑使用其他数据结构,如HashSet,其contains方法的时间复杂度为O(1)。同时,contains方法在比对元素时会调用元素的equals方法进行比较,因此在自定义的类中,需要正确实现equals方法来确保contains方法的正确性。
除了List集合外,String类也提供了contains方法,用于判断一个字符串是否包含指定的子串。它是通过判断字符串中是否存在指定的字符序列来进行的。下面是一个示例代码:
```java
public class StringContainsDemo {
public static void main(String[] args) {
String str = "CSDN程序媛";
boolean res = str.contains("程序媛");
if (res) {
System.out.println("包含程序媛,返回" + res);
} else {
System.out.println("不包含程序媛,返回" + res);
}
}
}
```
在这个示例中,我们创建了一个字符串str,然后使用contains方法来判断字符串str是否包含子串"程序媛"。由于str中包含了"程序媛"这个子串,所以最终结果为true。
需要注意的是,contains方法在判断子串时是区分大小写的。如果需要忽略大小写进行判断,可以先将字符串转换为小写或大写,然后再使用contains方法来判断。
希望以上内容能帮到您,如果还有其他问题,请随时提问。
阅读全文