当前位置: 首页 > news >正文

移民签证网站建设关键词优化简易

移民签证网站建设,关键词优化简易,短链接还原,重庆seo1日常开发中,我们可能会遇到这样一种情况,需要对数据库查询出来的数据进行一个二次处理,从而达到我们需要的数据结构。stream流正是java8提供的对复杂list操作方便工具。 我们先介绍如何使用stream流根据对象属性对复杂list对象去重&#xff0…

日常开发中,我们可能会遇到这样一种情况,需要对数据库查询出来的数据进行一个二次处理,从而达到我们需要的数据结构。stream流正是java8提供的对复杂list操作方便工具。
我们先介绍如何使用stream流根据对象属性对复杂list对象去重,再介绍一下stream流最常用的一些操作:

使用stream流根据对象属性对复杂list对象去重

例子1

实体类:

import lombok.Data;@Data
public class SyncUserDto {private String id;private String name;private String code;private String departmentCode;private String departmentName;private String position;private String phone;private String mobile;private String email;private Integer sex;private String idcard;private Integer status;private String account;private String weighting;private String photourl;private String openid;private String userid;
}

去重操作:

            //去重ArrayList<SyncUserDto> collect = syncUserDtos.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>((o1, o2) -> {if (o1.getAccount().compareTo(o2.getAccount()) == 0) {return 0;} else {return o1.getAccount().compareTo(o2.getAccount());}})), ArrayList::new));

例子2

实体类:

public class User {private String id;private String name;public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public User(String id, String name) {super();this.id = id;this.name = name;}
}

去重:

public class Demo {public static void main(String[] args) {List<User> list = new ArrayList<>();User u1 = new User("a", "aaa");User u2 = new User("a", "aaa");User u3 = new User("b", "aaa");User u4 = new User("a", "b");User u5 = new User("b", "a");list.add(u1);list.add(u2);list.add(u3);list.add(u4);list.add(u5);list.add(u1);list.add(u2);list.add(u3);list.add(u4);list.add(u5);List<User> unique=list.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(()->new TreeSet<>((o1,o2)->{if (o1.getName().compareTo(o2.getName()) == 0) {return 0;} else {return o1.getName().compareTo(o2.getName());}})), ArrayList::new));System.out.println("根据对象属性name进行去重");System.out.println("----------	去重前----------");System.out.println("集合中元素的个数为:"+list.size());for (User user : list) {System.out.println(user.toString()+"--姓名:"+user.getName());}System.out.println("-----------去重后----------");System.out.println("集合中元素的个数为:"+unique.size());for (User user : unique) {System.out.println(user.toString()+"--姓名:"+user.getName());}}
}

stream流常用操作

forEach():遍历流中的对象

public class Aoo {public static void main(String[] args) {// 定义一个集合ArrayList<String> list = new ArrayList<>();list.add("张三");list.add("李四");list.add("李四");list.add("李四");list.add("李四");list.add("李四");list.add("李四");//遍历流的对象list.stream().forEach((name) -> System.out.println(name));}

filter():filter对流对象进行过滤

 
public class Aoo {public static void main(String[] args) {// 定义一个集合ArrayList<String> list = new ArrayList<>();list.add("张三");list.add("李四二");list.add("李四我");list.add("李四去晚");list.add("李四请问");list.add("李四去");list.add("李四我");//过滤流的对象list.stream().filter((name) -> name.length()==2);}

map():map()是对集合中的对象进行映射的,将对象从一种类型转换成另一种类型

 
public class Aoo {public static void main(String[] args) {// 定义一个集合ArrayList<String> list = new ArrayList<>();list.add("1");list.add("2");list.add("3");list.add("4");list.add("5");list.add("6");list.add("7");//map()是对集合中的对象进行映射的,将对象从一种类型转换成另一种类型list.stream().map(num -> Integer.parseInt(num));}}

count():count是对流数据统计的方法,但是count之后返回的是long类型,所以无法再进行流操作。

public class Aoo {public static void main(String[] args) {// 定义一个集合ArrayList<String> list = new ArrayList<>();list.add("1");list.add("2");list.add("3");list.add("4");list.add("5");list.add("6");list.add("7");//count()对流数据进行统计System.out.println(list.stream().count());}}

limit():选取流数据的前多少条数据

 
public class Aoo {public static void main(String[] args) {// 定义一个集合ArrayList<String> list = new ArrayList<>();list.add("李四1");list.add("李四2");list.add("李四3");list.add("李四4");list.add("李四5");list.add("李四6");list.add("李四7");//limit() 选取流数据的前多少条数据list.stream().limit(2);}
}

skip():跳过流数据的前多少条数据,该方法与limit()方法刚好相反

public class Aoo {public static void main(String[] args) {// 定义一个集合ArrayList<String> list = new ArrayList<>();list.add("李四1");list.add("李四2");list.add("李四3");list.add("李四4");list.add("李四5");list.add("李四6");list.add("李四7");//skip() 跳过流数据的前多少条数据list.stream().skip(2);}
}

concat():Stream的静态方法concat()实现对两个流数据进行合并

public class Aoo {public static void main(String[] args) {// 定义一个集合ArrayList<String> list = new ArrayList<>();list.add("李四1");list.add("李四2");list.add("李四3");list.add("李四4");list.add("李四5");list.add("李四6");list.add("李四7");// 定义一个集合ArrayList<String> list1 = new ArrayList<>();list1.add("1");list1.add("2");list1.add("3");list1.add("4");list1.add("5");list1.add("6");list1.add("7");//concat()实现对两个流数据进行合并Stream.concat(list.stream(),list1.stream());}}
http://www.yidumall.com/news/55605.html

相关文章:

  • 山西做网站的公司上海怎么做seo推广
  • 有做外贸个人网站谈谈你对seo概念的理解
  • 怎么用dw软件做网站电商运营工作内容
  • 滚动视差网站seo软件哪个好
  • 深圳建设企业网站正规排名网站推广公司
  • 微分销系统定制专家杭州市优化服务
  • 广州设计公司网站手机网站建设案例
  • 中国风网站欣赏合肥seo
  • 网站建设有哪些需要注意的关键细节网络工程师
  • 云阳如何做网站平台app如何推广
  • 网站工程师平均工资优化设计卷子答案
  • 专业3合1网站建设公司免费关键词挖掘工具
  • 广州网站开发助理招聘百度销售推广
  • 商城网站开发的完整流程北京网站优化seo
  • 做电影网站还能赚钱吗关键词优化排名公司
  • 北京网站建设哪家好天百度投诉电话24小时
  • vk网站做婚介国内免费域名
  • 青县网站建设网络推广途径
  • 网上商城怎样推广seo如何建立优化网站
  • 益保网做推广网站吗?人力资源和社会保障部
  • wordpress tabs百度推广优化是什么?
  • 网站的cgi-bin目录创建自己的网页
  • 德国网站建设seo网址大全
  • 深圳开发公司网站建设比较好的东莞建设网
  • 做机加工的网站媒体发布平台
  • 个人网站建设及实现自媒体平台注册入口
  • 莞城区网站仿做北京seo关键词排名优化
  • 什么叫域名如何优化搜索引擎的准确性
  • 选择电商网站建设镇江seo公司
  • 干事儿网网站开发seo公司排名