使用stream流,将List<List<Object>>转化为List<Object>

  • 将List转化为List

    用到了stream流中的flatMap()

    1、简洁的写法:

    List<List<String>> lists  = new ArrayList<>();
    List<String> afterList = .stream().flatMap(Collection::stream).collect(Collectors.toList());
    

    2、或者使用扩展性更高的写法,
    例如:

	List<List<String>> lists  = new ArrayList<>();
	if (CollUtil.isNotEmpty(lists)){
				lists = lists.stream().flatMap(item->{
					if (item instanceof Collection<?>){
						return ((Collection<?>) item).stream();
					}else if (item instanceof Map){
						return ((Map<?, ?>) item).entrySet().stream();
					}else {
						return Arrays.asList(item).stream();
					}
				}).collect(Collectors.toList());
			}

(stream流真好用!!!!!!)

你可能感兴趣的:(java,list,java,数据结构)