En esta ocasión les mostraré como realizar de 2 maneras diferentes la funcionalidad del join de JavaScript en Java.

Este artículo está pensado para JavaScripteros, pero seguro que a algún Javero también le podría sorprender. Y sí… ya sé lo que piensan…

Pero a mi nadie me va a decir que no puedo hacer lo mismo de Javascript en Java 😉

Definición del problema

Para probar la equivalencia, las soluciones que propongo deberán de poder servir para resolver el siguiente problema:

Dadas dos cadenas, concatenarlas y obtener una cadena sin duplicados ordenada alfabéticamente.

Javascript join

En Javascript la función join pertenece al prototipo de String y se encarga de unir un arreglo en una cadena con los delimitadores intermedios que se especifiquen.

La implementación del código de prueba en javascript sería algo como:

function longest(s1, s2) {
  return Array.from(new Set((s1 s2).split("").sort())).join("");
}

Implementación del join de JavaScript en Java

Si usas Java 8 hallarás muy útil la función join de la clase String, así como el uso de los streams (del API de stream por supuesto).

import java.util.Arrays;
import java.util.stream.Collectors;

/**
 * Created by Javatlacati on 21/10/2016.
 */public class TwoToOne {
    public static String longest(String s1, String s2) {
        return String.join("",Arrays.stream((s1   s2).split("")).distinct().parallel().sorted().collect(Collectors.toList()));
    }
}

Otra forma es usar la función join de la clase StringUtils

import com.sun.deploy.util.StringUtils;

import java.util.Arrays;
import java.util.stream.Collectors;

/**
 * Created by Javatlacati on 21/10/2016.
 */public class TwoToOne {
    public static String longest(String s1, String s2) {
        return StringUtils.join(Arrays.stream((s1   s2).split("")).distinct().parallel().sorted().collect(Collectors.toList()), "");
    }
}

El inconveniente de esta implementación es que usa una de las clases internas de sun, que ellos crearon experimentalmente para realizar algunas tareas, y en un futuro podría desaparecer.

Entre algunas de las ventajas de las implementaciones del join de JavaScript que realizamos en Java podemos notar que acepta tanto arreglos como colecciones (del API de colecciones por supuesto).

javatlacati

Compartir
Publicado por
javatlacati
Etiquetas: javajavascript

Entradas recientes

Cursos de Código Facilito

Te comparto aquí mis recomendaciones de cursos de Código Facilito. Codigofacilito.com es una plataforma virtual…

2 meses hace

Cursos de LinkedIn Learning

Te comparto aquí mis recomendaciones de cursos de Linkedin Learning. LinkedIn Learning es una plataforma…

4 meses hace

Mockito: Snippets de código

Estos snippets de código para entrevista acerca de mockito espero te sean de mucha utilidad.…

4 meses hace

Expresiones regulares en Java: analizar un String

En este tutorial aprenderá a usar expresiones regulares en Java de manera práctica para contar…

4 meses hace

Preguntas para entrevista de programación Java full-stack

¿Entrevista de programación Java fullstack? No te preocupes, te tengo un compendio de preguntas de…

5 meses hace

SoftSkills: cursos de Udemy

Te recomiendo algunos cursos de Udemy para mejorar tus softskills y así mejorar en tu…

5 meses hace