Проверка строки на число в потоке

202
13 декабря 2017, 23:20

У меня Map<String,String> map может содержать в значении число в виде строки. Я перебираю мапу циклом, проверяю регуляркой value.matches("[-+]?\\d+" и если это число - формирую новую мапу Map<String,String> map2.

А можно это сделать как нибудь с помощью лямбд из Java 8?

Answer 1

Ну, как-то так:

Map<String, String> map2 = map.entrySet().stream()
    .filter(e -> e.getValue().matches("[-+]?\\d+"))
    .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
READ ALSO
java.lang.NoClassDefFoundError: android/app/Activity ошибка при тестировании презентера

java.lang.NoClassDefFoundError: android/app/Activity ошибка при тестировании презентера

Я поставил задачу, покрыть приложение от ног до головы тестами, начал с презентеров

286
Оптимизация приложения

Оптимизация приложения

Есть пример кода программы:

262
Как правильно называть классы в Android?

Как правильно называть классы в Android?

Раньше я для каждого класса создавал свой АдаптерНо прочитав книгу про чистый код понял что это не правильно

231