我希望有人能帮忙。好吧,我知道如何使用线性搜索在数组中查找数值。但现在我想学习如何在字符串数组中搜索字符串。
例如,如果我有一个学生姓名的字符串数组,我如何搜索该数组以在该数组中找到一个特定的名称?
如果有人可以给我写一个简单的例子,因为我还是 Java 新手。谢谢,还有没有更好的方法来搜索这些东西或线性搜索?:)
我希望有人能帮忙。好吧,我知道如何使用线性搜索在数组中查找数值。但现在我想学习如何在字符串数组中搜索字符串。
例如,如果我有一个学生姓名的字符串数组,我如何搜索该数组以在该数组中找到一个特定的名称?
如果有人可以给我写一个简单的例子,因为我还是 Java 新手。谢谢,还有没有更好的方法来搜索这些东西或线性搜索?:)
用于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;
}
字符串的代码可以与数值的代码相同,除了您应该使用 String 类的equals(...)
方法而不是==
.
您应该使用equals(...)
,因为两个不同的 String 对象可能具有相同的字符。但这==
是不正确的,因为它们是不同的对象。
比较表达式示例:
myArray[i].equals(myString)
或者
myString.equals(myArray[i])
注意:确保左侧的部分不是null
. 否则你会得到一个NullPointerException
.