【转】将List集合用字符串,逗号隔开进行拼接

java筑基 · 2019-12-27 · 197 人浏览

转自:https://blog.csdn.net/albb_/article/details/83012139

先上效果:

就当是做笔记,以后可以自己查看,也可以再用到的时候随时拿来用。

直接上代码:

  1. public class ArraySplicing {



  2. private static String[] array = {"张三", "李四", "王五", "撒娇", "九点十几分", "没事", "圣诞节"};

  3. private static String str;


  4. public static void main(String[] args) {



  5. List<String> list = new ArrayList<>();

  6. for (int i = 0; i < array.length; i++) {

  7.            list.add(array[i]);

  8.        }

  9.        /**

  10.         *

  11.         * 将集合用字符串,逗号隔开拼接

  12.         * */

  13.        //第一种方法(灵活,可以用逗号隔开,用|线隔开)

  14.        str = StringUtils.join(list, ",");

  15.        System.out.println("第一种方法" + str);

  16.        //第二种方法

  17.        str = listToString1(list);

  18.        System.out.println("第二种方法" + str);

  19.        //第三种方法(灵活,可以用逗号隔开,用|线隔开)

  20.        str = listToString2(list, ',');

  21.        System.out.println("第三种方法" + str);

  22.        //第四种方法

  23.        str = listToString3(list, ",");

  24.        System.out.println("第四种方法" + str);

  25.        Separator separator=new Separator(",");

  26.        //第五种方法

  27.        str = listToString4(list, separator );

  28.        System.out.println("第五种方法"+str);

  29.    }

  30.    public static String listToString1(List<String> list) {

  31. StringBuilder sb = new StringBuilder();

  32. if (list != null && list.size() > 0) {

  33. for (int i = 0; i < list.size(); i++) {

  34.                if (i < list.size() - 1) {

  35.                    sb.append(list.get(i) + ",");

  36.                } else {

  37.                    sb.append(list.get(i));

  38.                }

  39.            }

  40.        }

  41.        return sb.toString();

  42.    }

  43.    public static String listToString2(List list, char separator) {

  44.        StringBuilder sb = new StringBuilder();

  45.        for (int i = 0; i < list.size(); i++) {

  46.            sb.append(list.get(i)).append(separator);

  47.        }

  48.        return list.isEmpty() ? "" : sb.toString().substring(0, sb.toString().length() - 1);

  49.    }

  50.    public static String listToString3(List list, String separator) {

  51.        StringBuilder sb = new StringBuilder();

  52.        for (int i = 0; i < list.size(); i++) {

  53.            sb.append(list.get(i));

  54.            if (i < list.size() - 1) {

  55.                sb.append(separator);

  56.            }

  57.        }

  58.        return sb.toString();

  59.    }

  60.    public static class Separator {

  61.        private String next = "";

  62.        private String separator;

  63.        public Separator(String separator) {

  64.            this.separator = separator;

  65.        }

  66.        public String get() {

  67.            String result = next;

  68.            next = separator;

  69.            return result;

  70.        }

  71.    }

  72.    public static String listToString4(List<String> list, Separator separator) {

  73. StringBuilder sb = new StringBuilder();

  74. for (String s : list) {

  75. if (s != null && !"".equals(s)) {

  76. sb.append(separator.get()).append(s);

  77. }

  78. }

  79. return sb.toString();

  80. }