码迷,mamicode.com
首页 > 其他好文 > 详细

JDK8集合的便捷操作

时间:2017-09-06 19:41:37      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:ping   cep   sys   执行   gen   logs   ada   todo   lis   

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集合的便捷操作

标签:ping   cep   sys   执行   gen   logs   ada   todo   lis   

原文地址:http://www.cnblogs.com/tietazhan/p/7486244.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!