Вопросы с тегом 'collectors'

Collector, начиная с Java 8, представляет собой операцию сокращения мутаций в потоке. Используйте этот тег для конкретных вопросов об использовании Collectors.
13

Java 8 NullPointerException в Collectors.toMap

Java 8 Collectors.toMap выдает NullPointerException если одно из значений - "null". Я не понимаю этого поведения, карты могут содержать нулевые указатели как ценность без каких-либо проблем. Есть ли веская причина, почему значения не могут быть null...
08 июл. '14 в 11:44
9

Java8: HashMap <X, Y> в HashMap <X, Z> с использованием Stream/Map-Reduce/Collector

Я знаю, как "преобразовать" простую Java List из Y → Z, то есть: List<String> x; List<Integer> y = x.stream() .map(s -> Integer.parseInt(s)) .collect(Collectors.toList()); Теперь я хотел бы сделать в основном то же ...
18 сент. '14 в 2:14
5

Как добавить элементы потока Java8 в существующий список

Javadoc of Collector показывает, как собирать элементы потока в новый список. Есть ли однострочник, который добавляет результаты в существующий ArrayList?
31 мар. '14 в 4:40
13

Разделение списка в подсписках по элементам

У меня есть этот список (List<String>): ["a", "b", null, "c", null, "d", "e"] И мне бы хотелось что-то вроде этого: [["a", "b"], ["c"], ["d", "e"]] Другими словами, я хочу разбить мой список в подсписках, используя значение null как разд...
17 мар. '15 в 9:52
1

Есть коллекционер, который собирает набор, сохраняющий порядок?

Collectors.toSet() не сохраняет порядок. Вместо этого я мог бы использовать списки, но хочу указать, что результирующая коллекция не позволяет дублировать элементы, что и есть для интерфейса Set.
22 дек. '14 в 23:17
4

Java 8 Collectors.toMap SortedMap

Я использую Java 8 lambdas и хочу использовать Collectors toMap для возврата SortedMap. Лучшее, что я могу придумать, - вызвать следующий метод Collectors toMap с фиктивным mergeFunction и mapSupplier равным TreeMap::new. public static <T, K, U,...
23 июн. '15 в 14:00
3

Какой Список <E> возвращает Collectors.toList()?

Я читаю Состояние Lambda: Libraries Edition, и меня удивляет одно утверждение: В разделе Потоки есть следующее: List<Shape> blue = shapes.stream() .filter(s -> s.getColor() == BLUE) .coll...
20 февр. '14 в 15:32
1

Collectors.toSet() и HashSet

Возьмем следующую строку кода примера: Set<String> someSet = someColletion.stream().map(p -> p.toString()).collect(Collectors.toSet()); Я хочу a HashSet. Принимая отладчик к коду, я действительно получаю HashSet. Я посмотрел на java.util...
06 мая '15 в 16:33
3

Почему класс Java 8 'Collector' разработан таким образом?

Мы знаем, что Java 8 представляет новый Stream API, а java.util.stream.Collector - это интерфейс для определения того, как агрегировать/собирать поток данных. Однако интерфейс коллектора выполнен таким образом: public interface Collector<T, A, ...
29 апр. '16 в 3:05
6

Collectors.groupingBy не принимает нулевые ключи

В Java 8 это работает: Stream<Class> stream = Stream.of(ArrayList.class); HashMap<Class, List<Class>> map = (HashMap)stream.collect(Collectors.groupingBy(Class::getSuperclass)); Но это не так: Stream<Class> stream = Stream...
25 мар. '14 в 3:45
2

Поведение Stream.skip с неупорядоченной работой терминала

Я уже читал этот и этот, но все же сомневаюсь, наблюдается ли наблюдаемое поведение Stream.skip был предназначен авторами JDK. Пусть имеет простой ввод чисел 1..20: List<Integer> input = IntStream.rangeClosed(1, 20).boxed().collect(Collector...
15 июн. '15 в 10:50
3

Как преобразовать List <V> в Map <K, List <V>>, с потоками Java 8 и пользовательскими списками и поставщиками карт?

Легко преобразовать List<V> в Map<K, List<V>>. Например: public Map<Integer, List<String>> getMap(List<String> strings) { return strings.stream() .collect(Collectors.groupingBy(String::lengt...
23 нояб. '16 в 19:49
3

Java 8 Streams: почему Collectors.toMap ведет себя по-разному для дженериков с помощью подстановочных знаков?

Предположим, что у вас есть List чисел. Значения в List могут быть типа Integer, Double и т.д. Когда вы объявляете такой List, его можно объявить с помощью шаблона (?) или без подстановочного знака. final List<Number> numberList = Arrays.asLi...
11 янв. '15 в 17:56
4

Hashmap с потоками в Java 8 Потоки для сбора значения карты

Рассмотрим хэш-карту Map<Integer, List> id1 = new HashMap<Integer,List>(); Я вставил некоторые значения в оба хэш файла. Например, List<String> list1 = new ArrayList<String>(); list1.add("r1"); list1.add("r4"...
14 апр. '15 в 10:54
2

Комбинатор потока Java 8 никогда не назывался

Я пишу пользовательский сборщик java 8, который должен вычислять среднее значение POJO, которое имеет метод getValue(). Здесь код: public static Collector<BoltAggregationData, BigDecimal[], BigDecimal> avgCollector = new Collector<BoltAggr...
24 июн. '16 в 8:11