//String Concatenation String sep = " | "; String result2 = Stream.of("Java", "C", "Python", "Ruby") .reduce("",(acumulador, lang)->acumulador +sep+lang) .substring(sep.length()); System.out.println(result2);
¡Desbloquea vídeos ilimitados! Sube a Premium
Necesitas premium para acceder a este contenido. Suscríbete por $26USD al mes
-
check_circle_outlineMódulo 1 | 2 clases
Introducción
expand_more -
check_circle_outlineMódulo 2 | 6 clases
Expresiones lambda
expand_more -
check_circle_outlineMódulo 3 | 19 clases
API Stream
expand_more-
done_all
Clase 1
API Stream
-
done_all
Clase 2
Filtrar elementos
-
done_all
Clase 3
Formas de crear Streams
-
done_all
Clase 4
Tipos de métodos
-
done_all
Clase 5
Convertir a listas
-
done_all
Clase 6
Transformar valores
-
done_all
Clase 7
Método Map
-
done_all
Clase 8
Unir colecciones
-
done_all
Clase 9
ForEach
-
done_all
Clase 10
Encontrar elementos pt1
-
done_all
Clase 11
Encontrar elementos pt2
-
done_all
Clase 12
Funciones matemáticas
-
done_all
Clase 13
Reducción de elementos
-
done_all
Clase 14
Elementos unicos
-
done_all
Clase 15
Ordenamiento pt1
-
done_all
Clase 16
Ordenamiento pt2
-
done_all
Clase 17
Comparador
-
done_all
Clase 18
Saltos
-
done_all
Clase 19
Ejercicios stream Java
-
-
check_circle_outlineMódulo 4 | 5 clases
Métodos por referencia
expand_more
7 comentario(s)
String res = Stream.of("Java", "C", "Python", "Ruby")
.reduce("", (acum, leng) -> acum.equals("") ? leng : acum + " | " + leng);
.reduce("", (acum, leng) -> acum.equals("") ? leng : acum + " | " + leng);
String concatenado = Stream.of("Java","C","Phyton","Ruby").reduce("",
(acumulador,lenguaje)-> acumulador + lenguaje + " | ");
(acumulador,lenguaje)-> acumulador + lenguaje + " | ");
Buenas!
La mejor opcion seria como han comentando algunos con el operador ternario, pero me apetecia compartir otra solucion que seria utilizando regex:
String cadenaRegex= Stream.of("Java","C","Python","Ruby")
.reduce("", (acumulador, lenguaje) -> acumulador + "|" + lenguaje)
.replaceFirst("\\|","") // Quitamos la primera pipeline
.replaceAll("\\s",""); // Quitamos todos los espacios
System.out.println(cadenaRegex);
La mejor opcion seria como han comentando algunos con el operador ternario, pero me apetecia compartir otra solucion que seria utilizando regex:
String cadenaRegex= Stream.of("Java","C","Python","Ruby")
.reduce("", (acumulador, lenguaje) -> acumulador + "|" + lenguaje)
.replaceFirst("\\|","") // Quitamos la primera pipeline
.replaceAll("\\s",""); // Quitamos todos los espacios
System.out.println(cadenaRegex);
//Concatenar los lenguajes con pai "|" String cadenaLenguajes = Stream.of("Java", "C", "Python", "Ruby") .reduce("", (acumulador, itemLenguaje) -> acumulador.equals("") ? itemLenguaje : acumulador + "|" + itemLenguaje ); System.out.println(cadenaLenguajes);
String string = Stream.of("Java", "C", "Python", "Ruby")
.reduce( "" , (acumulador, lenguaje) -> {
if(acumulador.equals(""))
return lenguaje;
return acumulador + " | " + lenguaje;
});
System.out.println(string);
.reduce( "" , (acumulador, lenguaje) -> {
if(acumulador.equals(""))
return lenguaje;
return acumulador + " | " + lenguaje;
});
System.out.println(string);
Clase 18