@KarlRichter La otra pregunta no te da una lista escrita. Además, esta pregunta era de hace cuatro años y tiene una respuesta con más de 300 votos a favor. ¿Por qué estamos tratando de fusionarlo ahora?
El boxedmétodo convierte los intvalores primitivos de an IntStreamen un flujo de Integerobjetos. La palabra "boxeo" nombra el proceso de conversión int⬌ Integer. Vea el tutorial de Oracle .
@skiwi quiero decir, que todas las otras respuestas son innecesarias después de esta, ya que no serían tan naturales.
Dmitry Ginzburg
1
Gracias, todavía no había visto el método en caja y funcionó de maravilla.
twreid
Adición: creo que este código se vuelve un poco más corto, más claro y más bonito si usa una importación estática de toList. Esto se realiza mediante la colocación de la siguiente entre las importaciones del archivo: static import java.util.stream.Collectors.toList;. Entonces la llamada por cobrar se lee solo .collect(toList()).
Lii
1
En Eclipse es posible hacer que el IDE agregue una importación estática para los métodos. Esto se hace agregando la Collectorsclase en Preferencias -> Java -> Editor -> Content Assist -> Favoritos . Después de esto, solo tiene que escribir toLial presionar Ctr + Espacio para que el IDE se complete toListy agregue la importación estática.
Lii
2
Me estaba arrancando el pelo sobre lo que estaba mal con lo que había intentado, gracias por señalar el boxed()papel
K Raphael
16
También puede usar mapToObj () en una secuencia, que toma una IntFunción y devuelve una secuencia con valor de objeto que consiste en los resultados de aplicar la función dada a los elementos de esta secuencia.
Respuestas:
IntStream::boxed
IntStream::boxed
convierte unIntStream
aStream<Integer>
, que luego puedescollect
convertir en unList
:El
boxed
método convierte losint
valores primitivos de anIntStream
en un flujo deInteger
objetos. La palabra "boxeo" nombra el proceso de conversiónint
⬌Integer
. Vea el tutorial de Oracle .fuente
toList
. Esto se realiza mediante la colocación de la siguiente entre las importaciones del archivo:static import java.util.stream.Collectors.toList;
. Entonces la llamada por cobrar se lee solo.collect(toList())
.Collectors
clase en Preferencias -> Java -> Editor -> Content Assist -> Favoritos . Después de esto, solo tiene que escribirtoLi
al presionar Ctr + Espacio para que el IDE se completetoList
y agregue la importación estática.boxed()
papelTambién puede usar mapToObj () en una secuencia, que toma una IntFunción y devuelve una secuencia con valor de objeto que consiste en los resultados de aplicar la función dada a los elementos de esta secuencia.
fuente
boxed()
se delega.Puede usar colecciones primitivas disponibles en Eclipse Collections y evitar el boxeo.
Nota: Soy colaborador de Eclipse Collections.
fuente
MutableIntList list = IntLists.mutable.withAll(IntStream.range(1, 5))
Encuentre el siguiente ejemplo de encontrar el cuadrado de cada elemento int usando Java 8: -
fuente
Puedes usar el método de recolección:
De hecho, esto es casi exactamente lo que hace Java cuando llama a .collect (Collectors.toList ()) en una secuencia de objetos:
Nota: El tercer parámetro solo es necesario si desea ejecutar la recopilación paralela; para una colección secuencial, bastará con los dos primeros.
fuente