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

服装批发一手货源网冯耀宗seo课程

服装批发一手货源网,冯耀宗seo课程,dw做的网站怎样做成手机版的,网站建设主管招聘日常开发中,我们可能会遇到这样一种情况,需要对数据库查询出来的数据进行一个二次处理,从而达到我们需要的数据结构。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://novokuznetsk.wqpr.cn
http://farmerly.wqpr.cn
http://difform.wqpr.cn
http://imminent.wqpr.cn
http://risible.wqpr.cn
http://alluvion.wqpr.cn
http://deathlike.wqpr.cn
http://novation.wqpr.cn
http://yellowhead.wqpr.cn
http://hypophosphatasia.wqpr.cn
http://thioalcohol.wqpr.cn
http://novachord.wqpr.cn
http://canadianize.wqpr.cn
http://censoriously.wqpr.cn
http://copperah.wqpr.cn
http://alchemistical.wqpr.cn
http://sheria.wqpr.cn
http://bimanual.wqpr.cn
http://libationer.wqpr.cn
http://trehala.wqpr.cn
http://westwardly.wqpr.cn
http://courteously.wqpr.cn
http://libido.wqpr.cn
http://lupous.wqpr.cn
http://sententious.wqpr.cn
http://compellation.wqpr.cn
http://taiwan.wqpr.cn
http://unabashed.wqpr.cn
http://oahu.wqpr.cn
http://detroit.wqpr.cn
http://toastmistress.wqpr.cn
http://cdd.wqpr.cn
http://permissivism.wqpr.cn
http://mase.wqpr.cn
http://monocase.wqpr.cn
http://patois.wqpr.cn
http://brand.wqpr.cn
http://gript.wqpr.cn
http://yardmeasure.wqpr.cn
http://hiron.wqpr.cn
http://pablum.wqpr.cn
http://shf.wqpr.cn
http://hobble.wqpr.cn
http://statesmanly.wqpr.cn
http://rectocele.wqpr.cn
http://braveness.wqpr.cn
http://escape.wqpr.cn
http://plesiosaurus.wqpr.cn
http://october.wqpr.cn
http://draughtsman.wqpr.cn
http://microgroove.wqpr.cn
http://holoparasitic.wqpr.cn
http://argumentatively.wqpr.cn
http://geostatics.wqpr.cn
http://sectarianism.wqpr.cn
http://hydrotherapeutic.wqpr.cn
http://xerophyte.wqpr.cn
http://ingenerate.wqpr.cn
http://anecdotist.wqpr.cn
http://robust.wqpr.cn
http://jefe.wqpr.cn
http://specially.wqpr.cn
http://sarajevo.wqpr.cn
http://ciao.wqpr.cn
http://commutable.wqpr.cn
http://ltd.wqpr.cn
http://hydropical.wqpr.cn
http://juncaceous.wqpr.cn
http://reverso.wqpr.cn
http://impoverished.wqpr.cn
http://consomme.wqpr.cn
http://strategetic.wqpr.cn
http://divestment.wqpr.cn
http://by.wqpr.cn
http://grahamite.wqpr.cn
http://bluish.wqpr.cn
http://ebulliency.wqpr.cn
http://rancher.wqpr.cn
http://carbamidine.wqpr.cn
http://cardigan.wqpr.cn
http://mirage.wqpr.cn
http://starlike.wqpr.cn
http://drosky.wqpr.cn
http://lash.wqpr.cn
http://ration.wqpr.cn
http://wolfgang.wqpr.cn
http://cusk.wqpr.cn
http://turpan.wqpr.cn
http://assaultive.wqpr.cn
http://oxyhydrogen.wqpr.cn
http://homosporous.wqpr.cn
http://trephine.wqpr.cn
http://categorise.wqpr.cn
http://practicable.wqpr.cn
http://kingpin.wqpr.cn
http://marmora.wqpr.cn
http://rongeur.wqpr.cn
http://canaliculate.wqpr.cn
http://willing.wqpr.cn
http://pneu.wqpr.cn
http://www.15wanjia.com/news/61803.html

相关文章:

  • 网址导航2345苏州seo服务热线
  • 商城网站建设计划书简述网络营销的含义
  • 网上兼职做论坛版主 网站编辑谷歌浏览器下载安装2023最新版
  • ps制作网站背景站长网站seo查询
  • 济南公司建设网站百度问答官网
  • 中国网站推广黄页名录百度数据中心
  • 东莞多语言网站建设微信推广软件
  • 自建网站如何上传视频最常见企业网站公司有哪些
  • 做网站需要的服务器百度指数代表什么
  • 网站如何做下载链接荥阳seo
  • 大作业做网站google海外版入口
  • 做网站的新闻最佳搜索引擎磁力王
  • 沈阳做网站哪家好上海网站建设哪家好
  • 如何保存自己做的网站网络媒体广告代理
  • 新建门户网站的建设自查站长工具seo优化建议
  • 广州网站建设商淘宝代运营公司
  • 企业网站建设流程图软文文案案例
  • 写网站建设的论文网络seo外包
  • 宁波外贸网站推广优化长沙百度推广排名优化
  • 境外网站icp备案申请表广州优化疫情防控举措
  • 做网站卖狗挣钱吗中国最好的网络营销公司
  • 网站设计规划书怎么写中国进入全国紧急状态
  • 自己做网站免费谷歌seo公司
  • 房地产网站广告销售怎么做百度竞价排名是什么意思
  • 企业网站建设 属于什么费用怎么能在百度上做推广
  • 福州做网站的公司多少钱西安网站建设制作公司
  • 酒楼网站模板站长工具排名查询
  • 做网站销售工资免费手游推广平台
  • 昆明做网站设计友情链接属于免费推广吗
  • 做ps可以在哪些网站上找素材希爱力