How to get the desired format from ArrayList

import java.net.UnknownHostException;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Logger;

public class Test {
    final static Logger logger = Logger.getLogger(Test.class);
    private static DecimalFormat decimal_inpoints = new DecimalFormat("0.00");

    public static void main(String args[]) throws UnknownHostException,
            ParseException {

        ArrayList<Integer> array_list = new ArrayList<Integer>();

        array_list.add(1);
        array_list.add(0);

        String joinedString = array_list.toString();

        System.out.println(joinedString);

    }

}

      

How can I get the output as 1.0

When I used array_list.toString (); its providing putput as [1,0] (array added)

Could you please tell me how to get 1.0 instead of [1.0]

+2


source to share


6 answers


The easiest way:



array_list.toString().replace("[","").replace("]","");

      

+3


source


Using Apache Commons Lang :

String join = StringUtils.join(joinList, ",");

      

Using Java 8

String joined = String.join(",", list);

      



Using Google Guava (Joiner)

Joiner joiner = Joiner.on(",");
String join = joiner.join(joinList);

      

Using StringBuilder

StringBuilder builder = new StringBuilder(array_list.size());
boolean isFirst = true;
for (int i : array_list){
  if (isFirst) {
    builder.append(i);
    isFirst = false;
  } else {
    builder.append(", " + i);
  }
}
System.out.println(builder.toString());

      

+6


source


In Java 8, you can do this with a Collector union:

    String joinedString = list.stream()
            .map(Object::toString)
            .collect(Collectors.joining(", "));

      

+3


source


When using Java 8. See here.

private toStringNoBrackets(ArrayList MyList) {
    return String.join(",", MyList);
}

      

+1


source


You can create your own class and override the toString method.

import java.util.ArrayList;

public class MyIntegerArrayList extends ArrayList<Integer>
{
    @Override
    public String toString(){
        return super.toString().replace("[","").replace("]","");
    }
}


MyIntegerArrayList myIntegerArrayList = new MyIntegerArrayList();
myIntegerArrayList.add(0);
myIntegerArrayList.add(1);
myIntegerArrayList.toString();

      

+1


source


Use StringJoiner

:

import java.util.ArrayList;
import java.util.List;
import java.util.StringJoiner;

public class SOPlayground {

    public static void main(String[] args) {
        List<Integer> array_list = new ArrayList<>();
        array_list.add(1);
        array_list.add(0);

        StringJoiner sj = new StringJoiner(", ");
        array_list.stream().forEach((i) -> {
            sj.add(i.toString());
        });
        System.out.println(sj.toString());
    }

}

      

Output:

1, 0

      

0


source







All Articles