在字符串数组中搜索特定字符串。 [关闭]

Posted

技术标签:

【中文标题】在字符串数组中搜索特定字符串。 [关闭]【英文标题】:Search a string array for a specific string. [closed] 【发布时间】:2016-05-02 16:31:10 【问题描述】:

我希望有人可以提供帮助。好吧,我知道如何使用线性搜索在数组中查找数值。但现在我想学习如何在字符串数组中搜索字符串。

例如,如果我有一个学生姓名的字符串数组,我如何搜索该数组以在该数组中找到一个特定的姓名?

如果有人可以给我写一个简单的例子,因为我还是 Java 新手。谢谢,还有没有更好的方法来搜索这些东西或线性搜索? :)

【问题讨论】:

当您说“帮助”但没有表现出任何努力时,人们会将其解释为“为我做”,这就是您被否决的原因。 “给我写一个简单的例子”可能也没有帮助。请在下次询问之前努力,因为这不是免费的编码服务。 【参考方案1】:

使用Arrays.asList() 将数组包装在一个列表中。然后使用contains()方法在List中搜索:

String[] a= "is", "are", "then";
Arrays.asList(a).contains("are");

您也可以使用数组,但必须编写更多代码行。 contains() 方法也只进行 linear 搜索。

public static boolean useLoop(String[] arr, String targetValue) 
    for(String s: arr)
        if(s.equals(targetValue))
            return true;
    
    return false;

【讨论】:

【参考方案2】:

字符串的代码可以与数值的代码相同,但您应该使用 String 类的 equals(...) 方法而不是 ==

您应该使用equals(...),因为两个不同的 String 对象可能具有相同的字符。但是== 是不正确的,因为它们是不同的对象。

比较表达式示例:

myArray[i].equals(myString)

myString.equals(myArray[i]) 

注意:确保左侧的部分不是null。否则你会得到一个NullPointerException

【讨论】:

以上是关于在字符串数组中搜索特定字符串。 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 JSON Postgres 数据类型列中搜索特定字符串?

Javascript,Nodejs:在文件中搜索特定的单词字符串

在向量中搜索特定字符串(八度)

在java中搜索特定记录的数组列表

在 MongoDB 中的对象数组中搜索特定属性

如何在二维 numpy 数组中搜索特定 XY 对的位置?