How to Spacify a String in Java


The challenge

Modify the spacify function so that it returns the given string with spaces inserted between each character.

spacify("hello world") // returns "h e l l o   w o r l d"

The solution in Java code

Option 1:

import java.util.*;
import java.util.stream.*;

public class Spacify {
    public static String spacify(String str){
        return Arrays.stream(str.split(""))
                .map(c -> c+" ")
                .collect(Collectors.joining())
                .trim();
    }
}

Option 2:

public class Spacify {
    public static String spacify(String str){
        return str.replaceAll("", " ").trim();
    }
}

Option 3:

public class Spacify {
    public static String spacify(String str){
        String[] chars = str.split("");
        return String.join(" ", chars);
    }
}

Test cases to validate our solution

import org.junit.Test;

import static org.junit.Assert.*;

public class SpacifyTest {
    @Test
    public void basicTest() {
         assertEquals("h e l l o   w o r l d",Spacify.spacify("hello world"));
         assertEquals("1 2 3 4 5",Spacify.spacify("12345"));
    }
}