Perguntas com a marcação «java-stream»

Use esta tag para perguntas relacionadas ao uso da API de Stream. Foi introduzido no Java 8 e suporta operações de estilo funcional em fluxos de valores, como pipelines de filtro-mapa-redução em coleções.

4
Manipulando exceções com fluxos
Eu tenho um Map<String,List<String>>e quero que ele se transforme Map<String,List<Long>>porque cada um Stringna lista representa um Long: Map<String,List<String>> input = ...; Map<String,List<Long>> output= input.entrySet() .stream() .collect(toMap(Entry::getKey, e -> e.getValue().stream() .map(Long::valueOf) .collect(toList())) ); Meu principal problema é que cada um Stringpode não representar corretamente a Long; pode haver algum problema. Long::valueOfpode …

4
Maneira eficiente de iterar e copiar os valores do HashMap
Eu quero converter: Map<String, Map<String, List<Map<String, String>>>> inputMap para: Map<String, Map<String, CustomObject>> customMap inputMapé fornecido na configuração e está pronto, mas eu preciso customMapformatar. O CustomObject será derivado do List<Map<String, String>>uso de poucas linhas de código em uma função. Tentei uma maneira normal de iterar o mapa de entrada e …

3
Java Stream: filtro com vários intervalos
Estou tentando filtrar um recurso e excluir alguns elementos com base em um campo. Para excluir, tenho um conjunto (que contém um ID que precisa ser excluído) e uma lista (contém vários intervalos de IDs que precisam ser excluídos). Eu escrevi a lógica abaixo e não estou satisfeito com a …

4
Obter funcionários antes e depois da data específica de ingresso na lista de funcionários com o fluxo Java
Tenho Listde Employees com diferentes datas de união. Desejo obter funcionários antes e depois da data específica de ingresso na lista usando fluxos. eu tentei seguir o código, List<Employee> employeeListAfter = employeeList.stream() .filter(e -> e.joiningDate.isAfter(specificDate)) .collect(Collectors.toList()); List<Employee> employeeListBefore = employeeList.stream() .filter(e -> e.joiningDate.isBefore(specificDate)) .collect(Collectors.toList()); class Employee{ int id; String name; …

5
Como criar vários threads para cada item de solicitação
Estou tentando processar o código abaixo usando multithreading no nível do pedido. List<String> orders = Arrays.asList("order1", "order2", "order3", "order4", "order1"); Execução sequencial atual: orders.stream().forEach(order -> { rules.forEach(rule -> { finalList.add(beanMapper.getBean(rule) .applyRule(createTemplate.apply(getMetaData.apply(rule), command), order)); }); }); Eu tentei usar: orders.parallelStream().forEach(order -> {}} // code snippet. Mas está mudando a ordem rules.forEach …

3
Como copiar grandes arquivos de dados linha por linha?
Eu tenho um CSVarquivo de 35GB . Quero ler cada linha e gravar a linha em um novo CSV, se corresponder a uma condição. try (BufferedWriter writer = Files.newBufferedWriter(Paths.get("source.csv"))) { try (BufferedReader br = Files.newBufferedReader(Paths.get("target.csv"))) { br.lines().parallel() .filter(line -> StringUtils.isNotBlank(line)) //bit more complex in real world .forEach(line -> { writer.write(line …

3
Retornando a lista padrão se a lista estiver vazia usando o java 8 Streams?
Existe alguma maneira de que o abaixo possa ser executado como um conjunto de operações de fluxo, em vez de verificar explicitamente se recommendedProducts está vazio e retornar a lista padrão ou retornar a lista filtrada ? public List<Product> getRecommendedProducts() { List<Product> recommendedProducts = this.newProducts .stream() .filter(isAvailable) .collect(Collectors.toList()); if (recommendedProducts.isEmpty()) …

4
Classifique números em uma matriz sem alterar a posição dos números pares usando Java-8
Estou aprendendo fluxos Java 8. Diga-me, como posso escrever um sortArraymétodo de forma mais compacta? import org.junit.Test; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.Map; import static org.junit.Assert.assertArrayEquals; public class TestStream { /* * Sort numbers in an array without changing even numbers position */ @Test public void test_1() { …


3
Como converter short [] em List <Short> em Java com fluxos?
Imaginei que poderia extrapolar a partir desta pergunta, mas não posso Eu posso fazer short[] shortarray = {0,1,2}; List&lt;Short&gt; shortList = new ArrayList&lt;Short&gt;(); for (Short s : shortarray) { shortList.add(s); } Mas eu estou querendo saber como fazê-lo com fluxos. List&lt;Short&gt; shortList = Arrays.stream(shortarray).boxed() .collect(Collectors.toList()); não funciona, por exemplo, mas …



4
Colete resultados de uma operação de mapa em um Mapa usando Collectors.toMap ou groupingBy
Eu tenho uma lista do tipo List&lt;A&gt;e com a operação de mapa obtendo uma lista coletiva do tipo List&lt;B&gt;para todos os elementos A mesclados em uma lista. List&lt;A&gt; listofA = [A1, A2, A3, A4, A5, ...] List&lt;B&gt; listofB = listofA.stream() .map(a -&gt; repo.getListofB(a)) .flatMap(Collection::stream) .collect(Collectors.toList()); sem mapa plano List&lt;List&lt;B&gt;&gt; listOflistofB …
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.