精华内容
下载资源
问答
  • lambda遍历list对象

    2020-11-26 04:42:24
    @Data public class SchoolBoy { private String girlId; private String id; private String name; ... private String grilName;... List<SchoolBoy> schoolBoys = new ArrayList<>(); ...

    @Data
    public class SchoolBoy {
    	private String girlId;
    	
    	private String id;
    	
    	private String name;
     
    	private String grilName;
    }
        public static void main(String[] args) {
            List<SchoolBoy> schoolBoys = new ArrayList<>();
            SchoolBoy boy1 = new SchoolBoy();
            boy1.setGirlId("1");
            boy1.setId("10");
            boy1.setName("小明");
    
            SchoolBoy boy2 = new SchoolBoy();
            boy2.setGirlId("2");
            boy2.setId("11");
            boy2.setName("小豪");
    
            SchoolBoy boy3 = new SchoolBoy();
            boy3.setGirlId("3");
            boy3.setId("12");
            boy3.setName("小白");
            schoolBoys.add(boy1);
            schoolBoys.add(boy2);
            schoolBoys.add(boy3);
    
            schoolBoys.stream().forEach(schoolBoy -> {
                System.out.println(schoolBoy);
            });
        }

     

     

    展开全文
  • lambda遍历list集合

    2019-12-08 23:23:23
    1.Stream流线程安全,串行单线程运行,相对运行慢,使用forEach()方法,遍历有序。 parallelStream collection中流方法 线程不安全,并行多线程,相对较快, 使用forEach()方法,遍历无序,调用Stream中...

    jdk1.8新增lamda表达式Stream流,数据处理方式

    IntStream,LongStream,DoubleStream想了解,自己百度,大概就是stream下的原始流类
    Stream 和parallelStream 流区别

    1.Stream流线程安全,串行单线程运行,相对运行慢,使用forEach()方法,遍历有序。
    parallelStream collection中流方法 线程不安全,并行多线程,相对较快,
    使用forEach()方法,遍历无序,调用Stream中forEachOrdered()方法,遍历有序。

    例:list.parallelStream().forEachOrdered(param -> {
    param.setDjztStr(CommonUtil.valBystatus(param.getDjzt()));
    });
    list为集合

    封装的类 import static java.util.stream.Collectors.*;

    2.Stream 各种方法,去重 distinct() 去重;collect(Collectors.toList())。封装成集合

    1. Comparator stream下的类
      可以用Comparator.comparing
      2.Optional 解决空指针的类
      例:Optional userOp= wxWlLldMxs.stream().max(Comparator.comparing(WxWlLldMx::getDj));
      WxWlLldMx maxDj = userOp.get();
      3.sort排序
      List sortedList = list.stream().sorted((o1,o2)->o1.getAge()-o2.getAge()).collect(Collectors.toList());
      4.map() 获取某一个元素
      例: List mapList1 = list.stream().map(Person::getName).collect(Collectors.toList());
      这种写法解决重复键报错问题,但不能解决值为空报错问题
      Map<String, Object> map = list.stream().collect(Collectors.toMap(User::getName,User::getAge, (oldValue,newValue) -> oldValue, HashMap::new));
      map.forEach((k,v)->{
      System.out.println(k+""+v);
      });
      解决map空指针问题
      Map<String, Object> map = list.stream().collect(Collectors.toMap(User::getName,e->Optional.ofNullable(e.getAge()).orElse(1), (oldValue,newValue) -> oldValue, HashMap::new));
      5.filter 过滤 count()数量
      List new ArrayList();
      long count = strings.stream().filter(string -> string.isEmpty()).count();
      6.limit() 获取流数量
    2. mapToInt 将Intger转换int,summaryStatistics()理解为统计类
      getAverage()平均数,getMax()最大,getMine()最小,getSum()和
      import java.util.IntSummaryStatistics;
      IntSummaryStatistics stats = numbers.stream().mapToInt((x) -> x).summaryStatistics();

    3.Collectors类方法使用与Stream一起使用

    0.Collectors.joining(",") 拼接字符串
    1.Collectors.toList 集合
    2.Collectors.toSet set 集合
    3.toCollection 封装到指定新集合
    例:List result = givenList.stream().collect(toCollection(LinkedList::new))
    4.java8排序
    例: Collections.sort(names, (s1, s2) -> s1.compareTo(s2));

    lambda根据某个字段去重
     
            List<Person> personList = new ArrayList<>();
            personList.add(new Person("one", 10));
            personList.add(new Person("two", 20));
            personList.add(new Person("three", 30));
            //这两的name值重复
            personList.add(new Person("four", 40));
            personList.add(new Person("four", 45));
     
            System.out.println("利用Collectors.toMap去重:");
            //利用Collectors.toMap去重
            personList.stream()
                    .collect(Collectors.toMap(Person::getName, Function.identity(), (oldValue, newValue) -> oldValue))
                    .values()
                    .stream()
                    .forEach(System.out::println); //打印
    
    展开全文
  • 我有一个people class,同时list里装的都是people对象,people有两个属性值,一个是name,一个是age,这时候我想遍历取出其中的age属性。 一般都是直接for循环,在java中可以用lambda表达式进行获取,在python中也...

    例子:
    我有一个people class,同时list里装的都是people对象,people有两个属性值,一个是name,一个是age,这时候我想遍历取出其中的age属性。

    一般都是直接for循环,如下:

    class people():
        def __init__(self, name, age):
            self.name = name
            self.age = age
    
    
    peolist = []
    peolist.append(people('ray', 12))
    peolist.append(people('pick', 13))
    peolist.append(people('pick1', 15))
    print(list(item.age for item in peolist))
    

    在java中可以用lambda表达式进行获取,在python中也一样,当然这样写会比较冗余,不过示例代码如下:

    class people():
        def __init__(self, name, age):
            self.name = name
            self.age = age
    
    
    peolist = []
    peolist.append(people('ray', 12))
    peolist.append(people('pick', 13))
    peolist.append(people('pick1', 15))
    print(list(map(lambda x: x.age, peolist)))
    

    运行结果如下:
    在这里插入图片描述
    如果是要取不重复的值,那就把最外层的list换成set就可以了

    展开全文
  • estateMaps.stream().map(e-> domainChange(e)).collect(Collectors.toList())
    estateMaps.stream().map(e-> domainChange(e)).collect(Collectors.toList())
    
    展开全文
  • list.forEach((l) -> { System.out.println(l.getId()); System.out.println(l.getName()); }); Set <Stu> set = new HashSet (); set.forEach((s) -> { System.out.println(s.getId()); System.out....
  • 使用Java8的Stream对两个 List 遍历匹配数据的优化处理1. 定义一个静态方法2. Main方法测试3. 输出结果4. 有个小疑问 1. 定义一个静态方法 /** * 通过遍历两个List中按id属性相等的归结到resultList中 * @...
  • lambda遍历集合

    2020-02-01 18:48:51
    遍历List List<Strudent> list = new ArrayList<Strudent>() {{ add(new Strudent("b", 11, "女")); add(new Strudent("a", 19, "男")); add(new Strudent("d", 15, "女...
  • Lambda遍历集合

    2021-03-15 16:03:42
    遍历list集合的方式 https://www.cnblogs.com/miracle-luna/p/10995400.html 遍历map集合的方式 https://www.cnblogs.com/miracle-luna/p/10995132.html
  • List _ Set _Map_集合使用lambda遍历

    千次阅读 2018-08-15 15:29:46
    package Test01.dmeo08; import java.util.*; public class demo01 { public static void main(String[] args) { //使用Lis用lambda进行遍历 List list = new LinkedList&lt;&gt;(); lis...
  • Lambda表达式遍历List

    千次阅读 2018-12-20 15:05:31
    Lambda表达式 Lambda表达式,也可称为闭包,它是推动Java8发布的最重要的新特新。 Lambda允许把函数作为一个方法的参数。使用Lambda可以使代码变得更加简洁紧凑。...遍历List public class Test01 ...
  • 1.目的 lambda表达式:(1)遍历list map ; (2) 对list数据进行排序; 2.lambda遍历 list list.stream().forEach(data ->...
  • 《jdk8 lambda》运用lambda遍历需要用到索引时 其实是不支持的, 但是我们可以自己改装,如下: public static void main(String[] args) { List&amp;lt;String&amp;gt; list = java.util.Arrays.asList(&...
  • lambda 遍历map 数组

    千次阅读 2018-08-29 16:19:26
    Map,String> map=new HashMap(); map.put("num1","123"); map.put("num2","456");... List<String> players = Arrays.asList(atp); players.forEach((player) ->System.out.println(player));  
  • lambda遍历的精简

    2019-09-21 01:58:49
    lambda表达式让我们能够简洁明了的进行集合的遍历。下一节我们会讲到它如何使我们在进行删除操作和集合转化的时候,也能够写出如此简洁的代码。 转载于:https://www.cnblogs.com/LvLoveYuForever/p/6698073.html
  • Java8 Lambda遍历集合

    2018-09-22 13:46:57
    Java8支持使用Lambda语法对集合进行遍历,语法如下 更多精彩 更多技术博客,请移步 asing1elife’s blog List allQuestions.forEach(question -&gt; { if (question.getType().getCode().equals(typeCode)) ...
  • Lambda表达式遍历List集合

    千次阅读 2019-08-21 19:58:22
    import java.util.ArrayList;...public class Lambda { public static void main(String[] args) { List list = new ArrayList<>(); list.add(“zhagnsan”); list.add(“wangwu”); list.ad...
  • Java8 lambda遍历出来后有人说它快有人说它要慎用?到底怎么回事让我们来一探究竟吧!看不懂可以先看后面的分析 测试代码: package cn.cncommdata.zhonglvreport; import java.util.ArrayList; import java.util.....
  • java8 lambda 遍历集合

    2018-03-29 15:15:29
    List<String> collection = new ArrayList(); collection.forEach(Object ->{ }); collection 的removeIf(Predicate<? super E> filter) 方法也是需要传入函数式接口的方法,删除符合传入条件的元素 例:...
  • Java8使用lambda遍历集合创建线程

    千次阅读 2019-11-29 14:19:14
    "lambda遍历list" ) ; //遍历list lists . forEach ( list - > System . out . println ( list ) ) ; //新建线程1.8之前使用匿名内部类 new Thread ( new Runnable ( ) { @Override ...
  • lambda表达式遍历list和map

    千次阅读 2019-02-20 10:31:27
    public static void main(String[] args) { List list = new ArrayList(); list.add(1); list.add(2); list.add(4); list.add(3); list.forEach(s -&gt; System....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 42,692
精华内容 17,076
关键字:

lambda遍历list