zoukankan      html  css  js  c++  java
  • Java学习记录-Lambda表达式示例

    //list
    List<Integer> userIds=userInfoList.stream().map(m->m.getUserId()).collect(Collectors.toList());
    //distinct List
    <Integer> userIdsDis=userInfoList.stream().map(m->m.getUserId()).distinct().collect(Collectors.toList());
    //array Integer[] userIdsArray
    = userInfoList.stream().map(m->m.getUserId()).distinct().collect(Collectors.toList()).toArray(new Integer[0]); int[] userIdsArray2=userInfoList.stream().mapToInt(m-> Integer.valueOf(m.getUserId())).toArray();
    //join String userIdStr
    = userInfoList.stream().map(m->m.getUserName()).collect(Collectors.joining(", "));
    //filter List
    <UserInfo> userInfoList1=userInfoList.stream().filter(m->m.getAge()>10).collect(Collectors.toList());
    //get UserInfo userInfo
    =userInfoList.stream().filter(m->m.getUserId()==1).findFirst().get();
    //new object List
    <UserWithCompany> userWithCompanies =userInfoList.stream().map(m->new UserWithCompany(m.getUserId())).collect(Collectors.toList());
    //map Map
    <Integer,UserInfo> userInfoMap=userInfoList.stream().collect(Collectors.toMap(UserInfo::getUserId, m -> m));
    //group
    Map<String, List<
    UserInfo>> singleMap = studentList.stream().collect(Collectors.groupingBy(UserInfo::getCode));
    //多条件分组

     Map<String, List<Student>> complexMap = studentList.stream().collect(Collectors.groupingBy(e -> fetchGroupKey(e)));

      private static String fetchGroupKey(Student student){
        return student.getUsername() +"+"+ student.getCode();
      }

    //for
    userInfoList.stream().forEach(m
    ->{
      System.out.println(m.getUserName());
      System.out.println(m.getUserId());
    });
     

    参考资料:

    使用java8将list转为map

  • 相关阅读:
    线性表
    面试题
    进程与线程的区别
    双亲委派模型&动态生成Java类
    springboot优势
    Python3数据结构
    GC算法
    JVM的跨平台特性
    HashMap#put (K key, V value)过程白话文
    java内存模型
  • 原文地址:https://www.cnblogs.com/wangwangfei/p/7120907.html
Copyright © 2011-2022 走看看