天天看點

Java 周遊List<String> 取出裡面的String 元素以 ‘、’ 頓号拼接

需求舉例:

某個人關聯的 獎項特别多, 那麼産品需要 将個人的獎項 顯示出來,多個 以  ‘ - ’ 符号或者  ‘ 、’ 拼接。

小明 的獎項 List 已經查出來了:

List<String> awardsList=new ArrayList<>();
awardsList.add("全勤獎");
awardsList.add("無私奉獻獎");
awardsList.add("理财專家獎");
           

需求顯示為:

全勤獎、無私奉獻獎、理财專家獎

代碼實作1  , 正常for循環:

PS: 注意 for循環裡面的條件, 為了避免最後拼接出來的名稱 不是前面多了個符号,就是後面多個了符合,是以需要加上一些條件

List<String> awardsList=new ArrayList<>();
        awardsList.add("全勤獎");
        awardsList.add("無私奉獻獎");
        awardsList.add("理财專家獎");
        
        //拼接獎項名稱,以‘、’ 号拼接
        StringBuffer awardsName = new StringBuffer();
        if (!CollectionUtils.isEmpty(awardsList)) {
            for (int i=0;i<awardsList.size();i++) {
                if (i==0){
                    awardsName.append(awardsList.get(i));
                }else {
                    awardsName.append("、").append(awardsList.get(i));
                }

            }
        }
        System.out.println(awardsName.toString());
           

代碼實作2, stream + Collectors.joining: 

List<String> awardsList=new ArrayList<>();
        awardsList.add("全勤獎");
        awardsList.add("無私奉獻獎");
        awardsList.add("理财專家獎");

        //拼接獎項名稱,以‘、’ 号拼接
        String awardsName = "";
        if (!CollectionUtils.isEmpty(awardsList)) {
            awardsName = awardsList.stream().collect(Collectors.joining("、"));
        }
        System.out.println(awardsName);

    }
           

代碼實作3, string.join : 

List<String> awardsList=new ArrayList<>();
        awardsList.add("全勤獎");
        awardsList.add("無私奉獻獎");
        awardsList.add("理财專家獎");

        String join = String.join("、", awardsList);
        System.out.println(join);
           

結果示例:

Java 周遊List<String> 取出裡面的String 元素以 ‘、’ 頓号拼接