@KarlRichter A outra pergunta não fornece uma lista digitada. Além disso, essa pergunta foi de quatro anos atrás e tem uma resposta com mais de 300 votos. Por que estamos tentando mesclá-lo agora?
O boxedmétodo converte os intvalores primitivos de um IntStreamem um fluxo de Integerobjetos. A palavra "boxe" nomes do int⬌ Integerprocesso de conversão. Consulte o Tutorial do Oracle .
@skiwi Quero dizer, que todas as outras respostas são desnecessárias após essa, pois não seriam tão naturais.
Dmitry Ginzburg
1
Obrigado, eu ainda não tinha visto o método em caixa e funcionou como um encanto.
Twreid
Além disso: acho que esses códigos ficam um pouco mais curtos, claros e mais bonitos se você usar uma importação estática de toList. Isso é feito colocando o seguinte entre as importações do arquivo: static import java.util.stream.Collectors.toList;. Em seguida, a chamada a cobrar será exibida apenas .collect(toList()).
Lii 29/06
1
No Eclipse, é possível fazer o IDE adicionar uma importação estática para métodos. Isso é feito adicionando a Collectorsclasse em Preferências -> Java -> Editor -> Assistente de Conteúdo -> Favoritos . Depois disso, você só precisa digitar toLino hit Ctr + Space para que o IDE preencha toListe adicione a importação estática.
Lii 29/06
2
Estava rasgando meu cabelo para fora sobre o que havia de errado com o que eu tinha tentado, obrigado por apontar a boxed()parte
K Raphael
16
Você também pode usar o mapToObj () em um fluxo, que utiliza uma IntFunction e retorna um fluxo com valor de objeto que consiste nos resultados da aplicação da função fornecida aos elementos desse fluxo.
Embora Eclipse coleções são geralmente muito útil, isso não parece que está fazendo alguma coisa mais fácil em todos os :)
Ben
1
Desde o EC 9.0, você pode criar uma lista primitiva a partir de um fluxo primitivo. MutableIntList list = IntLists.mutable.withAll(IntStream.range(1, 5))
Donald Raab
1
Isto é o que eu estava procurando .. boxe o fluxo de int para Integer ou objeto é coisa diferente
Vikash
2
Encontre o exemplo a seguir de encontrar quadrado de cada elemento int usando o Java 8: -
Nota: O terceiro parâmetro é necessário apenas se você deseja executar uma coleção paralela; para coleta seqüencial, fornecendo apenas os dois primeiros será suficiente.
Respostas:
IntStream::boxed
IntStream::boxed
transforma umIntStream
em umStream<Integer>
, que você podecollect
transformar em umList
:O
boxed
método converte osint
valores primitivos de umIntStream
em um fluxo deInteger
objetos. A palavra "boxe" nomes doint
⬌Integer
processo de conversão. Consulte o Tutorial do Oracle .fonte
toList
. Isso é feito colocando o seguinte entre as importações do arquivo:static import java.util.stream.Collectors.toList;
. Em seguida, a chamada a cobrar será exibida apenas.collect(toList())
.Collectors
classe em Preferências -> Java -> Editor -> Assistente de Conteúdo -> Favoritos . Depois disso, você só precisa digitartoLi
no hit Ctr + Space para que o IDE preenchatoList
e adicione a importação estática.boxed()
parteVocê também pode usar o mapToObj () em um fluxo, que utiliza uma IntFunction e retorna um fluxo com valor de objeto que consiste nos resultados da aplicação da função fornecida aos elementos desse fluxo.
fonte
boxed()
está delegando.É possível usar coleções primitivas disponíveis nas Coleções Eclipse e evitar boxe.
Nota: Sou colaborador do Eclipse Collections.
fonte
MutableIntList list = IntLists.mutable.withAll(IntStream.range(1, 5))
Encontre o exemplo a seguir de encontrar quadrado de cada elemento int usando o Java 8: -
fonte
Você pode usar o método de coleta:
De fato, isso é quase exatamente o que Java está fazendo quando você chama .collect (Collectors.toList ()) em um fluxo de objetos:
Nota: O terceiro parâmetro é necessário apenas se você deseja executar uma coleção paralela; para coleta seqüencial, fornecendo apenas os dois primeiros será suficiente.
fonte