Вопрос по list, java, string – Проверьте, находится ли String в ArrayList of Strings

39

Как я могу проверить, еслиString есть ли вList?

Я хочу назначить1 вtemp если есть результат,2 иначе.

Мой текущий код:

<code>Integer temp = 0;
List<String> bankAccNos = new ArrayList<String>();//assume list contains values
String bankAccNo = "abc";
for(String no : bankAccNos)
    if(no.equals(bankAccNo))
        temp = 1;
</code>
@JimmyGustafsson: да, чувак, я только этим и занимался, но я запутался ... в любом случае, спасибо abhi
То, что вы уже написали, является рабочим решением, за исключением того, что вам не хватает оператора else. Также обратите внимание, что сравнение строк чувствительно к регистру, что может быть проблемой, если вы не смогли заставить его работать должным образом. Кроме того, использование содержит, как предложено, является другим допустимым подходом John Snow
Почему бы просто не установить temp равным 2 в начале? И зачем использовать объект Integer вместо int? Решение выглядит достаточно хорошо, если вы измените то, что я сказал tskulbru

Ваш Ответ

3   ответа
58
temp = bankAccNos.contains(no) ? 1 : 2;
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceededdocs.oracle.com/javase/8/docs/api/java/util/…Error: User Rate Limit Exceeded(o==null ? e==null : o.equals(e))Error: User Rate Limit Exceeded
Error: User Rate Limit ExceededList.contains()Error: User Rate Limit ExceededList<String>
12

List Интерфейс уже решил это.

Больше можно найти в документации оСписок.

Error: User Rate Limit Exceeded
Error: User Rate Limit ExceededList.contains()Error: User Rate Limit ExceededList<String>
3
    List list1 = new ArrayList();
    list1.add("one");
    list1.add("three");
    list1.add("four");

    List list2 = new ArrayList();
    list2.add("one");
    list2.add("two");
    list2.add("three");
    list2.add("four");
    list2.add("five");


    list2.stream().filter( x -> !list1.contains(x) ).forEach(x -> System.out.println(x));

Выход:

two
five
Error: User Rate Limit ExceededstreamError: User Rate Limit Exceeded

Похожие вопросы