StefanE StefanE - 1 month ago 10
Java Question

Create formatted string from ArrayList

Consider following code:

ArrayList<Integer> aList = new ArrayList<Integer>();
aList.add(2134);
aList.add(3423);
aList.add(4234);
aList.add(343);

String tmpString = "(";

for(int aValue : aList) {
tmpString += aValue + ",";
}
tmpString = (String) tmpString.subSequence(0, tmpString.length()-1) + ")";

System.out.println(tmpString);


My result here is (2134,3423,4234,343) as expected..

I do replace the last comma with the ending ) to get expected result. Is there a better way of doing this in general?

Answer

You could use Commons Lang:

String tmpString = "(" + StringUtils.join(aList, ",") + ")";

Alternatively, if you can't use external libraries:

StringBuilder builder = new StringBuilder("(");
for (int aValue : aList) builder.append(aValue).append(",");
if (aList.size() > 0) builder.deleteCharAt(builder.length() - 1);
builder.append(")");
String tmpString = builder.toString();