import org.springframework.util.StringUtils;
import java.util.*;
/**
* @ClassName SpringBootTest
* @Date 2024/6/4 16:14
* @Description TODO
*/
public class SpringBootTest {
public static void main(String[] args) {
Map<String, List<String>> result = new LinkedHashMap<>();
//数据准备
List<String> list = new ArrayList<>();
list.add("first");
list.add("second");
list.add("third");
Map<String,String> properties = new HashMap<>();
list.forEach(item -> {
if ("second".equals(item))
properties.put(item,"A,B,C");
else
properties.put(item,"A,B");
});
//测试开始
System.out.println("----------------------------------------");
properties.forEach((name, value) -> {
//将字符串按”,“分割成String数组
String[] factoryImplementationNames = StringUtils.commaDelimitedListToStringArray(value);
// 获取result中key对应的List
List<String> implementations = result.computeIfAbsent(name.trim(),
key -> new ArrayList<>(factoryImplementationNames.length));
System.out.println("result-" + name + ": " + result.get(name));
System.out.println("implementations: " + implementations.size());
// 向result中对应的list添加元素
Arrays.stream(factoryImplementationNames).map(String::trim).forEach(implementations::add);
System.out.println("implementations: " + implementations.size());
System.out.println("result-" + name + ": " + result.get(name));
System.out.println("----------------------------------------");
});
}
}
结果
----------------------------------------
result-third: []
implementations: 0
implementations: 2
result-third: [A, B]
----------------------------------------
result-first: []
implementations: 0
implementations: 2
result-first: [A, B]
----------------------------------------
result-second: []
implementations: 0
implementations: 3
result-second: [A, B, C]
----------------------------------------