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.

6
Como verificar se um Java 8 Stream está vazio?
Como posso verificar se a Streamestá vazio e lançar uma exceção se não estiver, como uma operação não terminal? Basicamente, estou procurando algo equivalente ao código abaixo, mas sem materializar o fluxo intermediário. Em particular, a verificação não deve ocorrer antes que o fluxo seja realmente consumido por uma operação …

15
Java 8 Stream com processamento em lote
Tenho um grande arquivo que contém uma lista de itens. Eu gostaria de criar um lote de itens, fazer uma solicitação HTTP com esse lote (todos os itens são necessários como parâmetros na solicitação HTTP). Posso fazer isso facilmente com um forloop, mas como amante do Java 8, quero tentar …

6
Classificando uma lista com stream.sorted () em Java
Estou interessado em classificar uma lista de um fluxo. Este é o código que estou usando: list.stream() .sorted((o1, o2)->o1.getItem().getValue().compareTo(o2.getItem().getValue())) .collect(Collectors.toList()); Estou esquecendo de algo? A lista não está ordenando. Deve ordenar as listas de acordo com o item de menor valor. for (int i = 0; i < list.size(); i++) …


5
Por que não consigo mapear inteiros para strings ao fazer streaming de uma matriz?
Este código funciona (obtido no Javadoc): List<Integer> numbers = Arrays.asList(1, 2, 3, 4); String commaSeparatedNumbers = numbers.stream() .map(i -> i.toString()) .collect(Collectors.joining(", ")); Este não pode ser compilado: int[] numbers = {1, 2, 3, 4}; String commaSeparatedNumbers = Arrays.stream(numbers) .map((Integer i) -> i.toString()) .collect(Collectors.joining(", ")); IDEA me diz que tenho um …

7
Diferença entre findAny () e findFirst () em Java 8
На этот вопрос есть ответы на Stack Overflow на русском : Какие различия между FINDFIRST и findAny в Java 8? Estou um pouco confuso entre Stream#findAny()e Stream#findFirst()da StreamAPI em Java 8. O que entendi é que ambos retornarão o primeiro elemento correspondente do fluxo, por exemplo, quando usado em conjunto …

5
Por que findFirst () lança um NullPointerException se o primeiro elemento que encontra é nulo?
Por que isso lança um java.lang.NullPointerException? List<String> strings = new ArrayList<>(); strings.add(null); strings.add("test"); String firstString = strings.stream() .findFirst() // Exception thrown here .orElse("StringWhenListIsEmpty"); //.orElse(null); // Changing the `orElse()` to avoid ambiguity O primeiro item stringsé null, que é um valor perfeitamente aceitável. Além disso, findFirst()retorna um Optional , o que …

6
É possível usar a API Java 8 Stream na API Android <24?
Eu li esse post aqui. Mas ainda não consigo executar o código que contém os recursos da API Java 8 Stream como o seguinte em minSdkVersion &lt;24. List&lt;Car&gt; newCars = cars.stream() .filter(s -&gt; s.getColor().equals("red")) .collect(Collectors.toList()); Isso não funciona devido à mensagem de erro A chamada requer API de nível 24 …

4
'Optional.get ()' sem verificação 'isPresent ()'
Eu tenho o seguinte código de pesquisa em Java: return getTableViewController().getMe().getColumns().stream().filter($-&gt;Database.equalsColumnName($.getId(), columnId)).findFirst().get(); Desejava encontrar a coluna por nome e retornar a primeira encontrada. Eu entendo que há um caso em que nada foi encontrado e deve ser processado, mas como? É isso que quer com este juramento: 'Optional.get()' without 'isPresent()' …

5
Como devemos gerenciar o fluxo jdk8 para valores nulos
Olá colegas desenvolvedores Java, Eu sei que o assunto pode ser um pouco in advanceporque o JDK8 ainda não foi lançado (e não por agora, de qualquer maneira ..) mas eu estava lendo alguns artigos sobre as expressões Lambda e particularmente a parte relacionada à nova API de coleção conhecida …

12
Java 8 lambda obtém e remove elemento da lista
Dada uma lista de elementos, desejo obter o elemento com uma determinada propriedade e removê-lo da lista. A melhor solução que encontrei é: ProducerDTO p = producersProcedureActive .stream() .filter(producer -&gt; producer.getPod().equals(pod)) .findFirst() .get(); producersProcedureActive.remove(p); É possível combinar get e remove em uma expressão lambda?


14
Java 8, Streams para encontrar os elementos duplicados
Estou tentando listar elementos duplicados na lista de inteiros, por exemplo, List&lt;Integer&gt; numbers = Arrays.asList(new Integer[]{1,2,1,3,4,4}); usando Streams de jdk 8. Alguém já experimentou. Para remover as duplicatas, podemos usar a API distinta (). Mas e quanto a encontrar os elementos duplicados? Alguém pode me ajudar?


3
forEach vs forEachOrdered no Java 8 Stream
Eu entendo que esses métodos diferem na ordem de execução, mas em todos os meus testes não consigo obter execução de ordem diferente. Exemplo: System.out.println("forEach Demo"); Stream.of("AAA","BBB","CCC").forEach(s-&gt;System.out.println("Output:"+s)); System.out.println("forEachOrdered Demo"); Stream.of("AAA","BBB","CCC").forEachOrdered(s-&gt;System.out.println("Output:"+s)); Resultado: forEach Demo Output:AAA Output:BBB Output:CCC forEachOrdered Demo Output:AAA Output:BBB Output:CCC Forneça exemplos quando 2 métodos produzirão resultados diferentes.

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.