Java 在字符串数组中搜索特定字符串。

Java 在字符串数组中搜索特定字符串。,java,linear-search,Java,Linear Search,我希望有人能帮忙。我知道如何使用线性搜索在数组中找到一个数值。但现在我想学习如何在字符串数组中搜索字符串 例如,如果我有一个学生姓名的字符串数组,我如何搜索该数组以在该数组中找到特定的姓名 如果有人能给我写一个简单的例子,因为我还是Java新手。谢谢,还有没有更好的方法来搜索这些类型的东西或线性搜索好吗?:) 使用Arrays.asList()将数组包装到列表中。然后使用contains()方法在列表中搜索: String[] a= {"is", "are", "then"}; Arrays.a

我希望有人能帮忙。我知道如何使用线性搜索在数组中找到一个数值。但现在我想学习如何在字符串数组中搜索字符串

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

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

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

String[] a= {"is", "are", "then"};
Arrays.asList(a).contains("are");
您也可以使用数组,但必须编写更多的代码行
contains()
方法也仅执行
线性搜索

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

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

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

示例比较表达式:

myArray[i].equals(myString)

注意:确保左侧的零件不是
null
。否则,当你说“帮助”但没有表现出努力时,你会得到一个
NullPointerException

,人们会把它理解为“为我做”,这就是为什么你会被否决。“给我写一个简单的例子”可能也没用。请在下次询问之前做一些努力,因为这不是免费的编码服务。
myString.equals(myArray[i])