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.

7
Exemplo de método Java 8 Streams FlatMap
Tenho vindo a verificar a próxima Java update, a saber: Java 8 or JDK 8. Sim, estou impaciente, há muitas coisas novas, mas há algo que não entendo, um código simples: final Stream<Integer>stream = Stream.of(1,2,3,4,5,6,7,8,9,10); stream.flatMap(); os javadocs são public <R> Stream<R> flatMap(Function<? super T,? extends Stream<? extends R>> mapper) …

5
Como posso coletar um fluxo Java 8 em um Guava ImmutableCollection?
Eu gostaria de fazer o seguinte: List<Integer> list = IntStream.range(0, 7).collect(Collectors.toList()); mas de uma forma que a lista resultante é uma implementação da Goiaba ImmutableList. Eu sei que poderia fazer List<Integer> list = IntStream.range(0, 7).collect(Collectors.toList()); List<Integer> immutableList = ImmutableList.copyOf(list); mas eu gostaria de cobrar diretamente. eu tentei List<Integer> list = …

3
Operações intermediárias de fluxo não avaliadas na contagem
Parece que estou tendo problemas para entender como o Java compõe operações de fluxo em um pipeline de fluxo. Ao executar o seguinte código public static void main(String[] args) { StringBuilder sb = new StringBuilder(); var count = Stream.of(new String[]{"1", "2", "3", "4"}) .map(sb::append) .count(); System.out.println(count); System.out.println(sb.toString()); } O console …
33 java  java-stream 



3
Fluxos Java infinitos paralelos ficam sem memória
Estou tentando entender por que o seguinte programa Java fornece um OutOfMemoryError, enquanto o programa correspondente sem .parallel(). System.out.println(Stream .iterate(1, i -> i+1) .parallel() .flatMap(n -> Stream.iterate(n, i -> i+n)) .mapToInt(Integer::intValue) .limit(100_000_000) .sum() ); Eu tenho duas perguntas: Qual é o resultado pretendido deste programa? Sem .parallel()parece que isso simplesmente …


2
Como entender esse método Java 8 Stream collect ()?
Eu estava tentando converter uma matriz int em List e segui a rota desconhecida de usar o Java 8 Stream e criei essa Arrays.stream(arr).boxed().collect(Collectors.toList()); Eu ainda tenho dificuldade para entender completamente essa linha, principalmente, Por que Collectors.toList(), neste caso, retorna uma interface de ArrayList<Integer>implementação List? Por que não LinkedList<Integer>ou qualquer …


3
Fluxo paralelo Java - ordem de chamar o método parallel () [fechado]
Fechado . Esta questão precisa ser mais focada . No momento, não está aceitando respostas. Deseja melhorar esta pergunta? Atualize a pergunta para que ela se concentre apenas em um problema editando esta postagem . Fechado há 4 dias . AtomicInteger recordNumber = new AtomicInteger(); Files.lines(inputFile.toPath(), StandardCharsets.UTF_8) .map(record -> new …
11 java  java-stream 

3
Classificação personalizada da maneira que A vem antes de ae B vem antes de b
Eu tenho uma lista de cores como esta: Rosa, azul, vermelho, azul, cinza, verde, roxo, preto ... etc List<String> listOfColors = Arrays.asList("Pink", "Blue", "Red", "blue", "Grey", "green", "purple", "black"); Existem algumas operações intermediárias, como filtrar algumas cores de frutas, agora tenho resultados filtrados onde quero que elas sejam classificadas em …

2
Limpando uma lista de dados no Java8
Para limpar uma lista de dados, criei um método que aceita a lista de dados e a lista de operações de limpeza a serem executadas. public <T> List<T> cleanData(List<T> data, List<Function<T, T>> cleanOps) { List<T>dataNew=data.stream().map((str) -> { T cleanData = str; for(Function<T,T> function:cleanOps) { cleanData=function.apply(cleanData); } return cleanData; }).collect(Collectors.toList()); return …

4
Como peek () e allMatch () funcionam juntos na Java 8 Stream API
Encontrei um questionário sobre a API do Java 8 Stream do método peek, conforme abaixo Arrays.asList("Fred", "Jim", "Sheila") .stream() .peek(System.out::println) .allMatch(s -> s.startsWith("F")); A saída é Fred Jim Estou confuso como esse fluxo funciona? Meu resultado esperado deve ser Fred Jim Sheila O método peek () é uma operação intermediária …



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.