2016-05-02 154 views
-4

我希望有人可以帮忙。那么我知道如何使用线性搜索来查找数组内的数值。但现在我想学习如何搜索一个字符串数组。搜索特定字符串的字符串数组。

例如,如果我有一个学生姓名的字符串数组我怎么能搜索数组来查找该数组内的特定名称?

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

+1

当你说“帮助”但没有付出努力时,人们将其解释为“为我做”,这就是为什么你会陷入低估。 “给我写一个简单的例子”可能也没有帮助。请在下次询问之前花点功夫,因为这不是免费的编码服务。 – tnw

回答

2

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

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

你可以使用数组还可以,但必须写一些代码多行。 方法也只能搜索linear

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

弦乐的代码可以是相同的数值,除了你应该使用String类的equals(...)方法,而不是==

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

例子比较表达式:

myArray[i].equals(myString) 

myString.equals(myArray[i]) 

注:请务必在左侧的部分不null。否则,您将获得NullPointerException