2016-05-02 2 views
-4

Я надеялся, что кто-то может помочь. Я знаю, как использовать линейный поиск, чтобы найти числовое значение внутри массива. Но теперь я хочу узнать, как искать строковый массив для строки.Поиск строкового массива для определенной строки.

Например, если у меня есть строковый массив имен студентов, как я могу найти массив, чтобы найти определенное имя внутри этого массива?

Если кто-то может написать мне простой пример, так как я новичок в Java. Спасибо, также есть лучший способ поиска таких вещей или линейного поиска? :)

+1

Когда вы говорите «помощь», но не прилагаете никаких усилий, люди интерпретируют это как «сделайте это для меня», и именно поэтому вы получаете вниз. «напишите мне простой пример», вероятно, тоже не помогло. Пожалуйста, приложите немного усилий, прежде чем спрашивать в следующий раз, поскольку это не бесплатный сервис кодирования. – tnw

ответ

2

Используйте Arrays.asList(), чтобы обернуть массив в список. Затем найдите в списке, используя метод:

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

Код для струнных может быть такой же, как и для числовых значений, за исключением того, вы должны использовать метод equals(...) Класс струны вместо ==.

Вы должны использовать equals(...), потому что для двух разных объектов String возможны одинаковые символы. Но == будет неправильным, потому что это разные объекты.

сравнения Примеры выражений:

myArray[i].equals(myString) 

или

myString.equals(myArray[i]) 

Примечание: Убедитесь, что часть на левой стороне не null. В противном случае вы получите NullPointerException.

Смежные вопросы