JDK8集合的便捷操作

Posted 吐槽村

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDK8集合的便捷操作相关的知识,希望对你有一定的参考价值。

JDK8新特性,stream相关操作。把集合转换成stream,再对其进行相关操作,加上lambada表达式。

demo:

List<String> list = Arrays.asList("a","b"); //所有实现了Conllection的类型都可以使用
    	String str = list.stream().map(x->{
    		try {
				return x+" and "+x;
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				return "";
			}
    	}).collect(Collectors.joining("\n"));  // collect 收集器,把处理过的元素都手机起来,Collectors.joining("\n") 是用"\n"(换行符) 分开,也可以用别自己需要的
System.out.println(str);

  执行结果:

a and a
b and b

  集合元素分组收集,用字符串长度进行分组:

    	List<String> list = Arrays.asList("abc","bb","cc","a");
    	Map<Integer, List<String>> collect = list.stream().collect(Collectors.groupingBy(String::length));
    	System.out.println(collect.toString());

  执行结果:

{1=[a], 2=[bb, cc], 3=[abc]}

  集合的forEach:

List<String> list1 = Arrays.asList("abc","bb","cc","a");
    	list1.forEach(x->{
    		System.out.println(x.length()); //输出每个元素的长度
    	});

  执行结果:

3
2
2
1

  

 

以上是关于JDK8集合的便捷操作的主要内容,如果未能解决你的问题,请参考以下文章

代码片段 - Golang 实现集合操作

jdk8中关于操作集合的一些新特性,遍历和排序操作

JDK8 Stream、Collector 浅析(一)

JDK8 新特性流式数据处理

jdk8 流操作

jdk8十大特性并代码demo(转)