-5

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

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

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

4

2 回答 2

2

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

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;
}
于 2016-05-02T16:33:53.007 回答
0

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

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

比较表达式示例:

myArray[i].equals(myString)

或者

myString.equals(myArray[i]) 

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

于 2016-05-02T17:01:09.027 回答