Home Java Java-tips Data Strings 96string_examples Example - Array to String

Ask Questions?

View Latest Questions

Advertisement


 
 

Example - Array to String
Posted on: July 26, 2006 at 12:00 AM
Program to concatenate all of the strings in an array, each separated by a specifed string separater.

Java: Example - Array to String

Here is a simple, but slow, program to concatenate all of the strings in an array, each separated by a specifed string separater.

//-------------------------------------------------- arrayToString()
// Convert an array of strings to one string.
// Put the 'separator' string between each element.

public static String arrayToString(String[] a, String separator) {
    String result = "";
    if (a.length > 0) {
        result = a[0];    // start with the first element
        for (int i=1; i<a.length; i++) {
            result = result + separator + a[i];
        }
    }
    return result;
}

The problem with the above program is that a new String object is created each time thru the loop, and the old String object becomes eligible for garbage collection. This constant creation and abandoning objects is terribly inefficient. A more efficient way to do this is to use a StringBuffer or the equivalent Java 5 StringBuilder, which will grow as needed, but generally only has to expand a few times to do the job.

//-------------------------------------------------- arrayToString2()
// Convert an array of strings to one string.
// Put the 'separator' string between each element.

public static String arrayToString2(String[] a, String separator) {
    StringBuffer result = new StringBuffer();
    if (a.length > 0) {
        result.append(a[0]);
        for (int i=1; i<a.length; i++) {
            result.append(separator);
            result.append(a[i]);
        }
    }
    return result.toString();
}
Copyleft 2003 Fred Swartz MIT License, Last update: 2003-10-29
Advertisement


DMCA.com