首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Java 編程題源碼:實現通用元素連接器 (join 方法)

     編輯:程式設計疑難解答

需求

實現接口 `ElementJoiner`:
`String join(T[] ts, String delimiter)`
`String join(Collection ts, String delimiter)`
要求:空數組/集合返回空串或分隔符,null 分隔符視為空串,末尾不加分隔符。

參考實現

public class ElementJoinerImpl implements ElementJoiner {
    @Override
    public  String join(T[] ts, String delimiter) {
        if (delimiter == null) delimiter = "";
        if (ts == null || ts.length == 0) return delimiter;
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < ts.length - 1; i++) {
            sb.append(ts[i]).append(delimiter);
        }
        sb.append(ts[ts.length - 1]);
        return sb.toString();
    }

    @Override
    public  String join(Collection ts, String delimiter) {
        if (delimiter == null) delimiter = "";
        if (ts == null || ts.isEmpty()) return delimiter;
        StringBuilder sb = new StringBuilder();
        Iterator it = ts.iterator();
        while (it.hasNext()) {
            sb.append(it.next()).append(delimiter);
        }
        sb.setLength(sb.length() - delimiter.length()); // 移除末尾分隔符
        return sb.toString();
    }
}

測試主程序

public static void main(String[] args) {
    ElementJoiner ej = new ElementJoinerImpl();
    System.out.println(ej.join(new Integer[]{1,2,3}, "/")); // 1/2/3
    List list = Arrays.asList(1,2,3);
    System.out.println(ej.join(list, "~ ")); // 1~ 2~ 3
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved