在不区分大小写的情况下检查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

回到顶部