Java-Stream – вопросы и ответы

69
голосов
1
ответ
Скажем, у меня есть следующий список List<MyData> list = new ArrayList<>(); list.add(new MyData("id1", "name1", "secondName1", "phone1", "address1"); list.add(new MyData("id2", "name2",...
2 года назад maqjav
64
голоса
1
ответ
У меня есть список объектов Fruit, где каждый Fruit имеет 'name' и 'desc' . Этот список Fruits будет содержать дублирующее 'name' с разным 'desc' . ie {"apple","its red"},{"banana","its yellow"},{"...
2 года назад deejo
53
голоса
0
ответов
Моя первая попытка использования потока и выражения лямбда: Stream<TableType> myTTStream = Arrays.stream( T[source] ); // T[source] is a 1D row from a 2D array Optional<TableType> close...
4 года назад user3238181
75
голосов
2
ответа
Я пытаюсь понять flatMap : flatMap(x->stream.of(x) ) не выравнивает поток, а flatMap(x->x.stream()) работает и дает желаемый результат. Может ли кто-нибудь объяснить разницу между двумя? impo...
3 года, 7 месяцев назад puvi
214
голосов
1
ответ
Мне просто потребовалось некоторое время, чтобы начать изучать шум java-8 о потоках и лямбдах. Меня удивило, что вы не можете применять операции Stream, такие как .map() , .filter() непосредственно...
5 лет, 5 месяцев назад Rop
72
голоса
1
ответ
Я хотел бы передать поток объектов myClass для группировки с помощью Collectors.groupingBy() . Но вместо того, чтобы извлекать Map<String, List<myClass>> , я хотел бы сгруппировать его ...
3 года, 8 месяцев назад Antoine Millet
68
голосов
2
ответа
Я могу собрать список слов в сумку (a.k.a. multi-set): Map<String, Long> bag = Arrays.asList("one o'clock two o'clock three o'clock rock".split(" ")) .stream() .collect(Collectors.groupingBy(...
3 года, 10 месяцев назад whistling_marmot
71
голос
1
ответ
У меня есть параллельный поток, в котором я использую Map для мутирования элементов. Map<Long, List<MyItem>> hashmap = foo.getMap(); itemStream.parallel() .filter(Objects::nonNull) .for...
1 год, 4 месяца назад SS'
44
голоса
4
ответа
Я пытаюсь объединить две коллекции, но делаю это условно, где я хочу только добавить уникальные значения. И то, что представляет собой уникальность, должно определяться предикатом (или подобным), а...
1 год, 7 месяцев назад j5423951
47
голосов
1
ответ
Как фильтровать простые числа из потока BigIntegers в java без использования функции isProbablePrime()? Я пробовал этот код, но не могу решить эту ошибку: List<BigInteger> x =bigIntList.strea...
3 года, 10 месяцев назад Bimal Sharma
105
голосов
5
ответов
Stream<String> a = Stream.of("one", "three", "five"); Stream<String> b = Stream.of("two", "four", "six"); Что мне нужно сделать, чтобы вывод был ниже? // one // two // three // four // ...
1 год назад Blundell
81
голос
2
ответа
Я пытаюсь код следующим образом int[][] mat = new int[][]{new int[]{2,4,6}, new int[]{8,9,12}}; int oddInAll = Arrays.stream(mat).filter(i -> i%2 != 0).findFirst().getAsInt(); Но это дает мне ош...
11 месяцев, 2 недели назад user4910881
77
голосов
3
ответа
Я просто пытался создать что-то похожее на Collectors.toList() но это не сработало. import java.util.ArrayList; public class ShipmentTracingDTO { boolean destination = false; public ShipmentTracing...
11 месяцев назад Ashishkumar Singh
69
голосов
3
ответа
У меня есть поток файлов, которые я хочу фильтровать на основе окончания имени файла: public Stream<File> getFiles(String ending) throws IOException { return Files.walk(this.path) .filter(Fil...
3 года, 7 месяцев назад FAS
54
голоса
2
ответа
Моя проблема самым простым и понятным способом: Согласно JavaDoc : Метод Peek() существует главным образом для поддержки отладки, где вы хотите видеть элементы, проходящие мимо определенной точки в...
10 месяцев, 1 неделя назад VIR
-3
голоса
1
ответ
Привет, ребята, я хотел бы спросить, правильно ли я делаю назначение результирующего набора из потока в переменную? я делаю это так, но имею некоторую ошибку public class MainApp { public static vo...
2 года, 1 месяц назад cute programmer
55
голосов
1
ответ
У меня есть карта Map<K, List<V>> inputMap Я хочу отсортировать список перед сохранением в списке List<String> outputList = inputMap.keySet() .stream() .filter(Objects::nonNull) ....
2 года, 7 месяцев назад Ritesh Chouhan
54
голоса
1
ответ
Я хочу получить первое дата месяца в течение указанного времени: следующим образом: На дату 19-04-2018 19:00:00 (dd-MM-yyyy HH: mm: ss) должно быть 01-04-2018 00:00:00 . Я пробовал приведенный ниже...
1 год, 8 месяцев назад kaviya .P
46
голосов
1
ответ
У меня на Java есть следующий контейнер, на котором мне нужно работать Map<String, List<Entry<Parameter, String>>> Где Parameter - это перечисляемый тип, определяемый следующим об...
3 года, 2 месяца назад johnco3
47
голосов
2
ответа
Я не уверен, как это сделать, я хотел бы повторить ConcurrentLinkedQueue (все это), удалив i-й элемент и выполнив на нем некоторый код. Это то, что я использовал: public static class Input { public...
3 года, 5 месяцев назад elect
119
голосов
2
ответа
Прочитав о Java 8 java.util.stream.Intstream, я заменил некоторые из традиционных циклов потоками. К сожалению, я столкнулся с некоторыми проблемами производительности при работе с вложенными цикла...
4 года, 3 месяца назад Josef Chung
-3
голоса
2
ответа
У меня такой массив строк: firstArray = {"1", "2", "3", "4" }; и у меня есть второй массив вроде этого: secondArray = {"2", "5", "6", "7" }; если я хочу передать один элемент, я могу сделать вот та...
3 года, 2 месяца назад Mustafa
49
голосов
2
ответа
Это может быть глупый вопрос, но я пытаюсь понять, почему следующий код: public static void main(String[] args) { List<String> testData = Lists.newArrayList("a", "b", "c"); Map<String, Lis...
2 года, 8 месяцев назад Ihor M.
83
голоса
1
ответ
Я знаю разницу между промежуточными и терминальными операциями потока . Однако, когда я наткнулся на приведенный ниже пример кода, я не смог понять причину, по которой операция фильтра в строке 2 з...
10 месяцев, 2 недели назад Flo Ryan
55
голосов
3
ответа
Например, есть два списка: List<Double> list1 = Arrays.asList(1.0, 2.0); List<String> list2 = Arrays.asList("one_point_zero", "two_point_zero"); Используя Stream, я хочу создать карту, ...
3 года, 1 месяц назад sva605
54
голоса
1
ответ
У меня есть поток, который я хочу разбить на более мелкие части на основе совпадающего идентификатора, а затем применить некоторую логику обработки для каждой части/элемента. class BigRequest{ Stri...
2 года, 8 месяцев назад user2340345
48
голосов
1
ответ
Я пытаюсь найти Friend by firstName и lastName, используя поток. Возможно ли вернуть объект из этого потока? Как друг с этим именем и фамилией? Потому что теперь возврат несовместим. @Override publ...
2 года назад Donne
72
голоса
2
ответа
У меня есть следующее выражение лямбда, и если работает отлично, когда bonusScheduleDurationContainers не пуст. Если он пуст, я получаю NoSuchElementException . Как проверить это в выражении лямбда...
3 года, 11 месяцев назад quma
108
голосов
1
ответ
В Java 8 класс Stream реализует AutoCloseable. Это означает, что экземпляр потока должен быть явно закрыт. Я понимаю, почему обработчики файлов и подключения к БД являются закрывающимися. Но почему...
5 лет, 9 месяцев назад David Limkys
69
голосов
2
ответа
Например, List<Product> productsList = new ArrayList<Product>(); productsList.add(new Product(1,"HP Laptop",25000f)); productsList.add(new Product(2,"Dell Laptop",30000f)); productsList...
10 месяцев, 1 неделя назад Rence Abishek
86
голосов
1
ответ
У меня следующая ситуация с кодом: return modulePatternPairs.stream() .filter(it -> it.matches(absoluteFilePath)) .map(ModulePatternPair::getModule) .findAny() Мой вопрос: до того, как найти люб...
3 года, 3 месяца назад charlie_pl
63
голоса
4
ответа
Любой может преобразовать это в функциональный стиль Java (лямбда): public int findSecondMin(int arr[]) { int min = Integer.MAX_VALUE, secondMin = Integer.MAX_VALUE; for (int i = 0; i < arr.leng...
1 год, 4 месяца назад Sandeep Tiwari
45
голосов
3
ответа
Я новичок в java, и я перебираю циклы forEach. Я хочу использовать entry.getValue() вне цикла следующим образом: hashmap.entrySet().stream() .sorted(Map.Entry<String,Double>comparingByValue()...
2 года, 9 месяцев назад Heist
62
голоса
2
ответа
Как добавить объекты из одного потока в два разных списка одновременно В настоящее время я делаю body.getSurroundings().parallelStream() .filter(o -> o.getClass().equals(ResourcePoint.class)) .m...
3 года, 7 месяцев назад Flux
190
голосов
5
ответов
У меня есть карта Map<Type, Long> countByType , и я хочу иметь список, который отсортировал (от min до max) ключи по их соответствующим значениям. Моя попытка: countByType.entrySet().stream()...
4 года, 6 месяцев назад adaPlease
77
голосов
1
ответ
У меня есть API, который возвращает Map<String,String> который нуждается в преобразовании в DTO. SubjectIdAndNameDTO (id, name constructor args) id name текущей реализации с использованием тр...
1 год, 9 месяцев назад Lakshman Miani
64
голоса
4
ответа
Предположим, что класс MyClass : public class MyClass { private final Integer myId; private final String myCSVListOfThings; public MyClass(Integer myId, String myCSVListOfThings) { this.myId = myId...
3 года, 3 месяца назад Anthony Accioly
-5
голосов
2
ответа
Мне нужно преобразовать список (время, канал), который сортируется по времени по возрастанию: [15, A], [16, B], [17, C], [20, A], [22, C], [24, B], [26, C], [27, B], [28, A] к этому: [6.5, A], // (...
2 года, 4 месяца назад Nikola
85
голосов
1
ответ
((JSONArray) JsonUtils.parseStringToJsonObject(response.getResponseBody()).get("firstArray")).stream() .map(s->((JSONArray) s).get(1).toString()).collect(Collectors.toList()) Почему этот фрагмен...
1 год, 9 месяцев назад Twi
63
голоса
2
ответа
Можно ли преобразовать следующий код с помощью ссылки на метод? List<Text> childrenToRemove = new ArrayList<>(); group.getChildren().stream() .filter(c -> c instanceof Text) .forEach...
2 года, 6 месяцев назад GabrielChu
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема