Preguntas etiquetadas con java-stream

Use esta etiqueta para preguntas relacionadas con el uso de Stream API. Se introdujo en Java 8 y admite operaciones de estilo funcional en flujos de valores, como las canalizaciones filter-map-reduce en colecciones.


2
Limpieza de una lista de datos en Java8
Para limpiar una lista de datos, he creado un método que acepta la lista de datos y la lista de operaciones de limpieza a realizar. 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
Cómo peek () y allMatch () funcionan juntos en Java 8 Stream API
Encontré un cuestionario sobre Java 8 Stream API del método peek como se muestra a continuación Arrays.asList("Fred", "Jim", "Sheila") .stream() .peek(System.out::println) .allMatch(s -> s.startsWith("F")); La salida es Fred Jim ¿Estoy confundido sobre cómo funciona esta transmisión? Mi resultado esperado debería ser Fred Jim Sheila El método peek () es una …



4
Manejo de excepciones con flujos
Tengo un Map<String,List<String>>y quiero que se convierta Map<String,List<Long>>porque cada uno Stringen la lista representa un 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())) ); Mi principal problema es que cada uno Stringpuede no representar correctamente a Long; Puede haber algún problema. Long::valueOfpuede plantear …

4
Manera eficiente de iterar y copiar los valores de HashMap
Quiero convertir: Map<String, Map<String, List<Map<String, String>>>> inputMap a: Map<String, Map<String, CustomObject>> customMap inputMapse proporciona en la configuración y está listo, pero necesito customMapformatear. CustomObject se derivará del List<Map<String, String>>uso de pocas líneas de código en una función. He intentado una forma normal de iterar el mapa de entrada y copiar …

3
Java Stream: filtro con múltiples rangos
Estoy tratando de filtrar un recurso y excluir algunos elementos basados ​​en un campo. Para excluir, tengo un conjunto (que contiene una identificación que debe excluirse) y una lista (contiene múltiples rangos de identificadores que deben excluirse). Escribí la lógica a continuación y no estoy satisfecho con la lógica del …

4
Obtenga empleados antes y después de una fecha específica de afiliación de la Lista de empleados con flujo Java
Tengo Listde Employees con diferentes fechas de ingreso. Quiero obtener empleados antes y después de una fecha específica de unirse a la lista mediante transmisiones. Intenté seguir el 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 …

5
Cómo crear múltiples hilos para cada artículo de solicitud
Estoy tratando de procesar el siguiente código usando subprocesos múltiples en el nivel de pedido. List<String> orders = Arrays.asList("order1", "order2", "order3", "order4", "order1"); Ejecución secuencial actual: orders.stream().forEach(order -> { rules.forEach(rule -> { finalList.add(beanMapper.getBean(rule) .applyRule(createTemplate.apply(getMetaData.apply(rule), command), order)); }); }); He intentado usar: orders.parallelStream().forEach(order -> {}} // code snippet. Pero está cambiando …

3
¿Cómo copiar grandes archivos de datos línea por línea?
Tengo un CSVarchivo de 35 GB . Quiero leer cada línea y escribir la línea en un nuevo CSV si coincide con una condición. 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
¿Devuelve la lista predeterminada si la lista está vacía usando Java 8 Streams?
¿Hay alguna manera de que lo siguiente se pueda realizar como un conjunto de operaciones de flujo, en lugar de verificar explícitamente si los productos recomendados están vacíos y luego devolver la lista predeterminada o devolver la lista filtrada ? public List<Product> getRecommendedProducts() { List<Product> recommendedProducts = this.newProducts .stream() .filter(isAvailable) …

4
Ordene números en una matriz sin cambiar la posición de los números pares usando Java-8
Estoy aprendiendo Java 8 streams. Dime por favor, ¿cómo puedo escribir un sortArraymétodo más compacto? 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
Java utilizando filtros en diferentes modelos antes y después de la proyección
Considere el siguiente modelo JAVA para hibernar : @Entity @Table public class Person { @Id @GeneratedValue(strategy = GenerationType.AUTO) public Long id; @Column public String firstName; @Column public String lastName; @Column public Boolean active; } y el siguiente modelo para la serialización de API (utilizando el controlador de Spring Boot Rest): …

3
¿Cómo convertir short [] en List <Short> en Java con streams?
Pensé que podría extrapolar de esta pregunta pero no puedo Por supuesto que puedo hacer short[] shortarray = {0,1,2}; List&lt;Short&gt; shortList = new ArrayList&lt;Short&gt;(); for (Short s : shortarray) { shortList.add(s); } Pero me pregunto cómo hacerlo con transmisiones. List&lt;Short&gt; shortList = Arrays.stream(shortarray).boxed() .collect(Collectors.toList()); no funciona, por ejemplo, pero produce …

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.