当前位置: 代码网 > it编程>编程语言>Java > java1.8关于 List .Stream()常用的方法

java1.8关于 List .Stream()常用的方法

2024年08月03日 Java 我要评论
java 处理list集合常用到的方法
  • list <string>list=arrays.strean(array).collect(collectors.tolist());//数组转集合

  • string[] array=list.stream().toarray(string[]::new);//集合转数组

  • map<string,string>list.stream().collect(collectors.tomap(student::getid,student::getname));//集合转map

  • map<string,student>list.stream().collect(collectors.groupingby(student::getid));//集合转map(没有重复的key时

  • map<string,student>list.stream().collect(collectors.groupingby(student::getid,(v1,v2)->v2));//集合转map(有重复的key时,后面的覆盖前面的)

  • list <string>newlist2=llist.stream().map(student::getid)).collect(collectors.tolist());//对student集合对象中的id进行分组,生成一个集合

  •  list<student>list2=list.stream().filter(item.getid().equals."5").collect(collectors.tolist());//筛选符合条件的元素生成一个集合

  • long count = listuser.stream().filter(user -> user.getid().equals("2")).collect(collectors.counting());//筛选符合条件的元素个数

  • list <string>list=new arraylist<>();

  • list.removeif(item->"22".equals(item));//在原有的list上剔除某个元素

  • list.removeif(item->item.contains("1"));//在原有的list上剔除包含某个关键字的元素

  • boolean flag=list.stream().distanct().count()==list.size();//判断集合是否存在重复数据

  • list <string>newlist2=list.stream().distanct().collect(collectors.tolist());//剔除集合中的重复元素

  • list <string>newlist1=list.stream().filter(object::nonnull).collect(collectors.tolist());//剔除集合中null值的元素

  • boolean flag=list.removeall(collections.singletion(null));//剔除集合中null值的元素,剔除成功会返回true,否则返回false,如果集合中没有null,返回值为false

  • list <string>newlist=list.stream().filter(item->!"2".equals(item)).collect(collectors.tolist());//剔除list中的一个元素,生成新的集合

  • list <string>newlist=list.stream().filter(item->!"2".contains(item)).collect(collectors.tolist());//剔除list中包含某个元素的操作

  • list<list<string>>list1=arrays.aslist(arrays.aslist("1","2"),arrays.aslist("3","4"));//将多个集合组成到一个集合数组中,[[1,2],[3,4]]

  • list <string> newlist=list1.stream().flatmap(collection::stream).collect(collectors.tolist());///将多个集合合并到一个集合中[1,2,3,4]

  • list<string>newlist2=list.stream().sorted(comparing(student::getid))).collect(collectors.tolist());//根据对象中的某个属性从小到大排序

  • list <string>newlist3=list.stream().limit(3).collect(collectors.tolist());//限制输出集合当中3个元素

  • list <string>newlist3=list.stream().skip(3).collect(collectors.tolist());//跳过前3个元素

  • string s=list.stream().reduce((s1,s2)->double.parsedouble(s1)>double.parsedouble(s2)?s1:s2).get();//找出list集合中的最大值

  • string s1=list.stream().max(comparator.comparing(student::getid)).get().getid();//找出list对象集合中的最大值

  • long count = list.stream().maptoint(item -> item.getage()).summarystatistics().getsum();//求list对象某个属性的和

  • string join = string.join(",", list);string collect = list.stream().collect(collectors.joining(":"));//将集合元素按逗号拼接起来

  • string collect =list.stream().reduce("",(a,b->a+b));//将集合元素拼接起来

  • boolean z = list.stream().anymatch(item -> item.startswith("z"));//判断集合是否存在以某个字符开头的元素

  • list<string> list2 = optional.ofnullable(list1).orelse(list2);//list为null则返回list2

  • function中的抽象方法:
  • dates = varhistorydos.stream().map(varhistorydo::getcollectiontime).collect(collectors.tolist()).stream().map((localdatetime time) ->{
                            return localdatetimeutil.format(time,datepattern.norm_datetime_minute_formatter);
    }).collect(collectors.tolist());

  • list 转 可变参数 :valuelist为bigdecimal类型的数据,sum( bigdecimal... numbers)是一个可变参数的求和方法,可通过valuelist.toarray(new bigdecimal[0]) 表达式将list 转为为可变参数方法的入参,如: workutil.sum(valuelist.toarray(new bigdecimal[0]))。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com