Вопросы
Java 8: Преобразование List<V> в Map<K, V>
Я хочу преобразовать список объектов в карту, используя стримы и ламбды в Java 8.
Вот как я бы это сделал в Java 7 и ниже:
private Map nameMap(List choices) {
final Map hashMap = new HashMap();
for (final Choice choice : choices) {
hashMap.put(choice.getName(), choice);
...
Java 8: Уникальные элементы по свойству (Distinct by property)
Как в Java 8 отфильтровать коллекцию, используя API Stream, проверяя уникальность свойства каждого объекта?
У меня есть список объектов типа Person
, и я хочу удалить людей с одинаковыми именами.
Используя метод:
persons.stream().distinct();
Я получаю стандартную проверку на...
Найти первый элемент по предикату
Я только начал изучать лямбды в Java 8 и пытаюсь реализовать некоторые функции, с которыми я привык работать в функциональных языках.
Например, в большинстве функциональных языков есть функция find
, которая работает с последовательностями или списками и возвращает первый элемент, для которого...
NullPointerException в Collectors.toMap при наличии нулевых значений в записях
Вопрос: NullPointerException при использовании Collectors.toMap с null-значениями
Я столкнулся с проблемой, когда метод Collectors.toMap
бросает исключение NullPointerException
, если одно из значений равно null
. Мне непонятно такое поведение, ведь карты могут содержать null-значения без...
Есть ли краткий способ итерации по стриму с индексами в Java 8?
Заголовок: Как итерироваться по стриму с доступом к индексу в Java?
Текст проблемы:
Я пытаюсь итерироваться по массиву строк с доступом к индексу в стриме на Java, и мне нужно сделать это в краткой форме. Вот мой текущий код:
String[] names = {"Sam","Pamela", "Dave", "Pascal",...
Java 8 Iterable.forEach() против цикла foreach: что выбрать?
Какой из следующих вариантов является более хорошей практикой в Java 8?
Java 8:
joins.forEach(join -> mIrc.join(mSession, join));
Java 7:
for (String join : joins) {
mIrc.join(mSession, join);
}
У меня есть много циклов for
, которые можно "упростить" с...