如何解决在不区分大小写的情况下检查ArrayList是否包含某个String
您将需要遍历列表并检查每个元素。这就是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);
}
}
解决方法
在不区分大小写的情况下,如何使用.contains方法搜索ArrayList?我试过了.containsIgnoreCase,但是发现IgnoreCase方法仅适用于字符串。
这是我尝试创建的方法:
private ArrayList<String> Ord = new ArrayList<String>();
public void leggTilOrd(String ord){
if (!Ord.contains(ord)){
Ord.add(ord);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。