在不区分大小写的情况下检查ArrayList是否包含某个String
在不区分大小写的情况下,如何使用.contains方法搜索ArrayList?我试过了.containsIgnoreCase,但是发现IgnoreCase方法仅适用于字符串。
这是我尝试创建的方法:
private ArrayList<String> Ord = new ArrayList<String>(); public void leggTilOrd(String ord){
if (!Ord.contains(ord)){
Ord.add(ord);
}
}
回答:
您将需要遍历列表并检查每个元素。这就是contains
方法中正在发生的事情。由于您要对要检查的String元素使用equalsIgnoreCase
方法而不是equals
方法,因此需要显式地进行操作。既可以使用for-
each循环,也可以使用Stream(下面的示例使用Stream)。
private final List<String> list = new ArrayList<>();public void addIfNotPresent(String str) {
if (list.stream().noneMatch(s -> s.equalsIgnoreCase(str))) {
list.add(str);
}
}
以上是 在不区分大小写的情况下检查ArrayList是否包含某个String 的全部内容, 来源链接: utcz.com/qa/397746.html