当前位置: 首页 > 面试题库 >

在不区分大小写的情况下检查ArrayList是否包含某个String

熊俊人
2023-03-14
问题内容

在不区分大小写的情况下,如何使用.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);
    }
}


 类似资料:
  • 问题内容: 我有以下内容: 我喜欢做的事情就是让不区分大小写,因此,它可以是,等,仍然匹配。 有没有办法说必须不区分大小写? 问题答案: 在之后添加。此方法将字符串转换为小写字符串。然后,使用using 代替。 使用正则表达式也可以实现相同的目的(在要针对动态模式进行测试时特别有用):

  • 问题内容: 是否存在不区分大小写的:包含jQuery选择器的版本,还是应该通过循环所有元素并将它们的.text()与我的字符串进行比较来手动完成工作? 问题答案: 我最终为jQuery 1.2做的是: 这将扩展jquery以使其不区分大小写的:Contains选择器,:contains选择器保持不变。 编辑:对于jQuery 1.3和更高版本,您需要 编辑:显然通过使用直接访问DOM 代替 在前面

  • 问题内容: 我想编写一个Java方法,如果字符串是回文,则返回true。 这是我到目前为止的内容: 我的问题是,它不考虑像这样的单词:回文。 在不区分大小写并忽略标点符号的情况下,测试这是否是回文式的最佳方法是什么。 问题答案: 使用此正则表达式删除所有标点和空格并将其转换为小写

  • 问题内容: 有什么方法可以检查一个集合是否包含一个或多个具有比使用contains循环两次更好的性能的值? 在其他意义上看起来像这样 问题答案: 循环的实现遍历每个元素并进行测试,因此调用两次 效率低下 。 您可以编写自己的循环,使用已编译的regex 模式同时检查两者,同时查找两个名称:

  • 问题内容: 说我有一个ArrayList: 我希望在我说arrayList.containsSubString(’string1’);时返回arrayList的第一个元素。除了遍历元素的每个元素并检查该元素字符串的子字符串之外,该如何做? 问题答案: 我能想到的唯一方法是执行以下操作: 虽然不知道这是否被认为是好的做法。

  • 问题内容: 说我有两个弦, 我要执行s2包含在中的支票退回s1。我可以这样做: 我很确定这是区分大小写的,但是我无法通过阅读文档确定这一点。如果是这样,我想我最好的方法就是这样: 撇开所有这些,是否还有另一种(可能更好)的方法来完成此任务而不关心区分大小写? 问题答案: 是的,包含的内容区分大小写。你可以将标志一起使用,以区分大小写: 编辑:如果s2包含正则表达式特殊字符(其中有很多),则首先引用