java - 使用 Java 实现字符串数组 "is in"方法的有效方法

标签 java arrays string search pattern-matching

我需要展示从高度非结构化的 Web 服务中挑选的高度结构化的信息。为了正确显示信息,我必须进行大量字符串匹配和重复删除,以确保我选择了正确的元素组合。

我的挑战之一是确定字符串是否在字符串数组中。

我的梦想是做“searchString.isIn(stringArray);”但我意识到 String 类没有提供这一点。

除了这个 stub 之外,还有更有效的方法吗?:

private boolean isIn(String searchString, String[] searchArray)
{
  for(String singleString : searchArray)
  {
    if (singleString.equals(searchString)
      return true;
  }

  return false;
}

谢谢!

最佳答案

您可能需要查看 HashMapHashSet ,两者都提供恒定的时间检索,而且非常简单:

hashSet.contains(searchString)

此外,HashSet(及其键的 HashMap)防止重复元素。

如果你需要保持它们的插入顺序,你可以查看它们的 Linked同行,如果您需要对它们进行排序,TreeSet和 TreeMap 可以提供帮助(但是请注意,TreeSet 和 TreeMap 提供恒定时间检索)。

关于java - 使用 Java 实现字符串数组 "is in"方法的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5107581/

相关文章:

java - 如何解决Java中的线程错误(ArrayIndexOutOfBoundsException)异常?

java - ArrayList 每次返回 fragment 时将他的大小加倍

java - Android 中的数组编辑

java - 直接从字符串创建流

java - 将节点转换为字符串

java - B-Tree- 方法 inorder(TreeNode<E> root)

java - 复制和增强对象的最佳实践(设计模式)

javascript - 如何创建一个将对象推送到现有数组中的函数?

java - 如何打印没有第一项的数组?

python - 删除列中的重复字符