Проверьте, существуют ли значения в Java потоках, и если да, сопоставьте их с целыми числами - PullRequest
0 голосов
/ 26 мая 2020

У меня есть список Java, и я пытаюсь проверить, существуют ли определенные значения в этом списке, сопоставить их с 1, иначе с 0.

List<String> status1 = Arrays.asList("UPS","USPS","FEDEX","DHL","AMAZON");
status1
    .stream()
    .map(String::toLowerCase)
    .map((s -> s.equals("ups") ? 1 : 0) || (s -> s.equals("fedex") ? 1 : 0))
    .forEach(System.out::println);

Ответы [ 2 ]

1 голос
/ 26 мая 2020

Вы должны переписать лямбду в map:

Arrays.asList("UPS","USPS","FEDEX","DHL","AMAZON")
        .stream()
        .mapToInt(s -> 
            "ups".equalsIgnoreCase(s) || "fedex".equalsIgnoreCase(s) ? 1 :0)
        .forEach(System.out::println);
0 голосов
/ 26 мая 2020
List<String> status1 = Arrays.asList("USPS","DHL","AMAZON");
            int result=    status1.stream().anyMatch(s-> s.equals("UPS")||s.equals("FEDEX"))?1:0;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...