001/**
002 * Copyright (c) 2015-2022, Michael Yang 杨福海 (fuhai999@gmail.com).
003 * <p>
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 * <p>
008 * http://www.apache.org/licenses/LICENSE-2.0
009 * <p>
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016package io.jboot.utils;
017
018import java.util.*;
019
020/**
021 * @author michael yang (fuhai999@gmail.com)
022 */
023public class CollectionUtil {
024
025    public static Map<String, String> string2Map(String s) {
026        Map<String, String> map = new LinkedHashMap<>();
027        String[] strings = s.split(",");
028        for (String kv : strings) {
029            if (kv != null && kv.contains(":")) {
030                String[] keyValue = kv.split(":");
031                if (keyValue.length == 2) {
032                    map.put(keyValue[0].trim(), keyValue[1].trim());
033                }
034            }
035        }
036        return map;
037    }
038
039    public static boolean isEmpty(Collection<?> collection) {
040        return collection == null || collection.isEmpty();
041    }
042
043
044    public static String toString(Collection<?> collection, String delimiter) {
045        StringJoiner sb = new StringJoiner(delimiter);
046        if (collection != null) {
047            for (Object o : collection) {
048                sb.add(String.valueOf(o));
049            }
050        }
051        return sb.toString();
052    }
053}