Проверка начала для каждого элемента в массиве - PullRequest
0 голосов
/ 13 мая 2018

Есть ли какая-либо служебная функция в Java, которая делает String.startsWith для каждого элемента в массиве строк?

Например:

String[] s = {"ABC", "BBV", "ABCD", "NBHH"};

Есть ли способ сделать:

array.startsWith("AB");

Возвращает ABC и ABCD

Ответы [ 3 ]

0 голосов
/ 13 мая 2018

Вы можете использовать потоковый API:

String[] result = 
      Arrays.stream(s)
            .filter(a -> a.startsWith("AB"))
            .toArray(String[]::new);
0 голосов
/ 13 мая 2018

Вы можете использовать Stream, если используете Java 8. Если это не так, вы, вероятно, захотите использовать решение ниже:

String s[]={"ABC","BBV","ABCD","NBHH"};

for (String i : s) {
    if (i.startsWith("AB")) { // startsWith() returns boolean
        System.out.println(i);
    }
}
0 голосов
/ 13 мая 2018

Если вы используете Java 8, вы можете использовать фильтр следующим образом:

String[] result = Stream.of(s).filter(a -> a.startsWith("AB")).toArray(String[]::new);

Если вы хотите вернуть список, вы можете использовать:

List<String> rst = Stream.of(s).filter(a->a.startsWith("AB")).collect(Collectors.toList());
...