Java Collection Join join(Collection strings, String token)

Here you can find the source of join(Collection strings, String token)

Description

Joins a list of strings.

License

Apache License

Parameter

Parameter Description
strings a parameter
token a parameter

Declaration

public static String join(Collection<String> strings, String token) 

Method Source Code


//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();
    }
}

Related

  1. join(Collection strings, String delimiter)
  2. join(Collection strings, String sep)
  3. join(Collection strings, String sep)
  4. join(Collection strings, String separator)
  5. join(Collection strings, String separator)
  6. join(Collection strs, String sep)
  7. join(Collection thisPath, String _delim)
  8. join(Collection values)
  9. join(Collection words, String character)