Here you can find the source of join(Collection
Parameter | Description |
---|---|
strings | a parameter |
token | a parameter |
public static String join(Collection<String> strings, String token)
//package com.java2s; /*// w w w . j a va 2 s . com * ==================================================================== * Copyright 2005-2011 Wai-Lun Kwok * * http://www.kwoksys.com/LICENSE * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ==================================================================== */ import java.util.Collection; import java.util.List; import java.util.Map; public class Main { public static String join(String[] strings, String token) { // The joining is tricky as it needs to loop through a String[] and // skip empty elements inside the String[] if (strings == null || strings.length == 0) { return ""; } StringBuilder sb = new StringBuilder(); boolean appendToken = false; for (String string : strings) { if (!string.isEmpty()) { if (appendToken) { sb.append(token); } sb.append(string); // Now, we have the first element, next element should have a comma before it. appendToken = true; } } return sb.toString(); } /** * Joins a list of strings. * @param strings * @param token * @return */ public static String join(Collection<String> strings, String token) { return join(strings.toArray(new String[strings.size()]), token); } /** * Joins a list of maps. * * @param list * @param token * @return .. */ public static String join(List<Map> maps, String key, String token) { StringBuilder buffer = new StringBuilder(); boolean appendToken = false; for (Map map : maps) { if (!map.isEmpty()) { if (appendToken) { buffer.append(token); } buffer.append(map.get(key)); appendToken = true; } } return buffer.toString(); } public static boolean isEmpty(String value) { return value == null || value.isEmpty(); } }