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

怎样免费建立网站深圳贷款网站建设

怎样免费建立网站,深圳贷款网站建设,销售平台系统,如何在服务器上放网站日常开发中,我们可能会遇到这样一种情况,需要对数据库查询出来的数据进行一个二次处理,从而达到我们需要的数据结构。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.yayakq.cn/news/457522/

相关文章:

  • 注册网站不需要手机验证的做网站要幕布干啥呢
  • 电商网页设计网站科技强国从升级镜头开始
  • 南通 网络 公司网站企业网站手机版模板
  • 圆通速递我做网站h5和网站的区别
  • 动漫做羞羞的网站wordpress文章底部删除
  • 网站建设交流论坛地址在线制作非主流闪光字体
  • 图片展示网站会计是做什么的
  • 教育网站建设情况报告视频网站模板源码
  • 做外汇那个网站好公司怎么做网络营销
  • 韩国平面设计网站代理招商网免费加盟
  • 网站创建人如何卸载安装wordpress
  • 佛山市品牌网站建设价格wordpress界面主题
  • 做物流的网站都有什么上海 企业网站建设
  • 网站建设方案华为旅游网页设计作品欣赏
  • 中企动力官做网站怎么样硬件工程师40岁后的出路
  • 四省网站建设网络优化网站 s
  • 网站编辑器介绍昆明网站建设公司哪家口碑好
  • 网站引导页动画优化设计答案大全
  • 俄罗斯外贸网站万网衡水网站备案
  • 教学单位 网站建设网站建设排版
  • 1m带宽做网站app产品网站模板免费下载
  • 淄博网站建设公司推荐网站不交换友情链接可以吗
  • 网站优化内链怎么做网站新闻标题标题怎样进行优化
  • 做外贸网站多久更新怎样用word做网站
  • 论坛做视频网站软件设计网站
  • 神华集团 两学一做 网站免费淘宝关键词工具
  • 房地产 网站模板大力推广建设电子商务网站技术
  • 涟水县建设局网站大型网站建设用什么系统好
  • 做好网站开发工作总结建设银行网站查询工资
  • 儋州网站建设培训学校北京设计网站的公司