java求两集合中没有的值_java 两个List集合各种情况对比处理

Lambda作为函数式编程中的基础部分,在其他编程语言(例如:Scala)中早就广为使用,但在JAVA领域中发展较慢,直到java8,才开始支持Lambda。

抛开数学定义不看,直接来认识Lambda。Lambda表达式本质上是匿名方法,其底层还是通过invokedynamic指令来生成匿名类来实现。它提供了更为简单的语法和写作方式,允许你通过表达式来代替函数式接口。在一些人看来,Lambda就是可以让你的代码变得更简洁,完全可以不使用——这种看法当然没问题,但重要的是lambda为Java带来了闭包。得益于Lamdba对集合的支持,通过Lambda在多核处理器条件下对集合遍历时的性能提高极大,另外我们可以以数据流的方式处理集合——这是非常有吸引力的。

1. List去重:

/*** java List Strasm去重

*@paramargs*/

public static voidmain(String[] args) {

List list = new ArrayList<>();

list.add("1");

list.add("1");

list.add("2");

list.add("3");

list.add("4");

list.add("3");

list.add("4");

System.out.println("List去重前:" +list);

list=list.stream().distinct().collect(Collectors.toList());

System.out.println("List去重后:" +list);

}

测试结果:

94a30b3abd9679a62aca2662409bc73b.png

2. List根据对象某个字段去重:

importjava.util.ArrayList;importjava.util.List;importjava.util.stream.Collectors;/***

测试user

*@version1.0

*@authorli_hao

* @date 2018年7月18日*/

public classUser {privateString userid;privateString username;publicUser(String userid, String username) {super();this.userid =userid;this.username =username;

}publicString getUserid() {returnuserid;

}public voidsetUserid(String userid) {this.userid =userid;

}publicString getUsername() {returnusername;

}public


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部