最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java JDK 1.8 lambda的用法詳解

 更新時(shí)間:2019年09月06日 09:29:34   作者:kron_no  
這篇文章主要介紹了Java JDK 1.8 lambda的用法詳解,文中給大家提到了jdk 1.8 Lambda 表達(dá)式 遍歷數(shù)組的方法,需要的朋友可以參考下

具體代碼如下所示:

public class Student {
  private String id;
  private String name;
  private String age;
  private String address;
  public Student(String id, String name, String age, String address) {
    this.id = id;
    this.name = name;
    this.age = age;
    this.address = address;
  }
  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 String getAge() {
    return age;
  }
  public void setAge(String age) {
    this.age = age;
  }
  public String getAddress() {
    return address;
  }
  public void setAddress(String address) {
    this.address = address;
  }
  @Override
  public String toString() {
    return "Student{" +
        "id='" + id + '\'' +
        ", name='" + name + '\'' +
        ", age='" + age + '\'' +
        ", address='" + address + '\'' +
        '}';
  }
}
public class TestStrean {
  public static void main(String[] args){
    Student stuA = new Student("1", "A", "M", "184");
    Student stuB = new Student("2", "B", "G", "163");
    Student stuC = new Student("3", "C", "M", "175");
    Student stuD = new Student("4", "D", "G", "158");
    Student stuE = new Student("5", "E", "M", "175");
    List<Student> list = new ArrayList<>();
    list.add(stuA);
    list.add(stuB);
    list.add(stuC);
    list.add(stuD);
    list.add(stuE);
    /*-----------forEach-----------------------*/
//    list.forEach(item -> item.setId(item.getAddress()+"test") );
    /*-----------filter-----------------------*/
//    List<Student> newList=list.stream().filter(item -> item.getAge().contains("G")).collect(Collectors.toList());
    /*-----------filter的復(fù)雜應(yīng)用-----------------------*/
//    list.stream().filter(new Predicate<Student>(){
//
//      @Override
//      public boolean test(Student student) {
//        if(student.getName() !=null){
//          return student.getName().contains("30");
//        }else{
//          return true;
//        }
//      }
//    }).collect(Collectors.toList());
    /*-----------分頁(yè)-----------------------*/
//    List<Student> newList=list.stream().skip(4).limit(3).collect(Collectors.toList());
 
    /*-----------map 返回一個(gè)新的list<Object>-----------------------*/
//    List<Student> newList=list.stream().map(item ->{
//      return new Student(
//          item.getAddress(),
//          item.getAge(),
//          item.getName(),
//          item.getId()
//      );
//    }).collect(Collectors.toList());
    /*-----------map 返回一個(gè)原來(lái)的的list<Student>并賦值-----------------------*/
//    List<Student> newList=list.stream().map(item ->{
//      item.setId("1");
//      return item;
//    }).collect(Collectors.toList());
    /*-----------flatMap-----------------------*/
//    List<Student> newList= list.stream().flatMap(item ->{
//      String[] split =item.getAddress().split("");
//      String[] s2 = (String[]) Arrays.stream(split).filter(s -> s.contains("1")).toArray();
//      return s2;
//        });
    /*-----------sorted compareTo排序-----------------------*/
//    List<Student> newList=list.stream().sorted((o1,o2)->{
//      if(o1.getAddress().equals(o2.getAddress())){
//        return Integer.parseInt(o1.getId())-Integer.parseInt(o2.getId());
//      }else{
//        return o1.getAddress().compareTo(o2.getAddress());
//      }
//    }).collect(Collectors.toList());
    /*-----------sorted Comparator排序-----------------------*/
//    List<Student> newList=list.stream().sorted(
//        Comparator.comparing(Student::getAddress).reversed()
//    ).collect(Collectors.toList());
    /*-----------sorted3 多條件排序-----------------------*/
//    List<Student> newList=list.stream().sorted(
//        Comparator.comparing(Student::getAddress).thenComparing(Comparator.comparing(Student::getId).reversed())
//    ).collect(Collectors.toList());
//    boolean b=list.stream().anyMatch(item -> item.getAge().contains("G"));
//    System.out.println(b);
 
    /*-----------Collector tomap----------------------*/
//    Map<String, String> newList=list.stream().sorted(
//        Comparator.comparing(Student::getAddress).thenComparing(Comparator.comparing(Student::getId).reversed())
//    ).collect(Collectors.toMap(Student::getId,Student::getAddress));
 
    /*-----------Collector groupingBy----------------------*/
    Map<String, List<Student>> ageMap = list.stream().collect(Collectors.groupingBy(Student::getAddress));
    System.out.println(ageMap );
  }
}

知識(shí)點(diǎn)擴(kuò)展:

jdk 1.8 Lambda 表達(dá)式 遍歷數(shù)組

Lambda 表達(dá)式可以把回調(diào)函數(shù)作為參數(shù)傳遞

常用的遍歷數(shù)組的方式如下

  List<String> datas = new ArrayList<>();
  //遍歷
  datas.forEach(item->{
   System.out.println(item);
  });

說(shuō)明:

item就是每次遍歷的當(dāng)前元素

總結(jié)

以上所述是小編給大家介紹的Java JDK 1.8 lambda的用法詳解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • java實(shí)現(xiàn)實(shí)時(shí)通信聊天程序

    java實(shí)現(xiàn)實(shí)時(shí)通信聊天程序

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)實(shí)時(shí)通信聊天程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • SpringBoot使用Maven打包異常-引入外部jar的問(wèn)題及解決方案

    SpringBoot使用Maven打包異常-引入外部jar的問(wèn)題及解決方案

    這篇文章主要介紹了SpringBoot使用Maven打包異常-引入外部jar,需要的朋友可以參考下
    2020-06-06
  • 一篇文章帶你玩轉(zhuǎn)Spring bean的終極利器

    一篇文章帶你玩轉(zhuǎn)Spring bean的終極利器

    這篇文章主要給大家介紹了關(guān)于玩轉(zhuǎn)Spring bean的終極利器的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用spring bean具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05
  • Java?EventBus手把手帶你實(shí)現(xiàn)

    Java?EventBus手把手帶你實(shí)現(xiàn)

    EventBus是Guava的事件處理機(jī)制,是設(shè)計(jì)模式中觀察者模式(生產(chǎn)/消費(fèi)者編程模型)的優(yōu)雅實(shí)現(xiàn)。本文就來(lái)和大家聊聊EventBus的使用,需要的可以參考一下
    2023-01-01
  • Java中注解@Async實(shí)現(xiàn)異步及導(dǎo)致失效原因分析

    Java中注解@Async實(shí)現(xiàn)異步及導(dǎo)致失效原因分析

    Async注解用于聲明一個(gè)方法是異步的,當(dāng)在方法上加上這個(gè)注解時(shí)將會(huì)在一個(gè)新的線(xiàn)程中執(zhí)行該方法,而不會(huì)阻塞原始線(xiàn)程,這篇文章主要給大家介紹了關(guān)于Java中注解@Async實(shí)現(xiàn)異步及導(dǎo)致失效原因分析的相關(guān)資料,需要的朋友可以參考下
    2024-07-07
  • 基于Java代碼操作Redis過(guò)程詳解

    基于Java代碼操作Redis過(guò)程詳解

    這篇文章主要介紹了基于Java代碼操作Redis過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • java對(duì)接微信支付SDK接口簡(jiǎn)單圖文教程

    java對(duì)接微信支付SDK接口簡(jiǎn)單圖文教程

    在微信支付接口對(duì)接過(guò)程中,開(kāi)發(fā)者需準(zhǔn)備多項(xiàng)關(guān)鍵參數(shù),如開(kāi)發(fā)者ID(appid)、商戶(hù)號(hào)等,并完成相關(guān)注冊(cè)與認(rèn)證流程,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-11-11
  • FF瀏覽器和IE下載文件亂碼問(wèn)題的解決方法

    FF瀏覽器和IE下載文件亂碼問(wèn)題的解決方法

    大家可以看到如下截圖,下載文件出現(xiàn)了亂碼,在其他瀏覽器(IE,Chrome....)上沒(méi)有出現(xiàn)這個(gè)問(wèn)題,解決方法很簡(jiǎn)單,遇到類(lèi)似問(wèn)題的朋友可以了解下哦
    2013-08-08
  • Spring Boot 自動(dòng)配置之條件注解淺析

    Spring Boot 自動(dòng)配置之條件注解淺析

    這篇文章主要介紹了Spring Boot 自動(dòng)配置之條件注解淺析,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • java LeetCode題解KMP算法示例

    java LeetCode題解KMP算法示例

    這篇文章主要為大家介紹了java LeetCode題解KMP算法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10

最新評(píng)論

新津县| 永州市| 晋宁县| 台南县| 酉阳| 鄂托克前旗| 青浦区| 兴仁县| 崇仁县| 白城市| 金湖县| 外汇| 鹤庆县| 吉安市| 吉水县| 论坛| 曲麻莱县| 中江县| 鸡西市| 武定县| 都昌县| 柞水县| 随州市| 台北县| 阳江市| 高邮市| 白水县| 南汇区| 梓潼县| 奇台县| 鄢陵县| 偏关县| 新干县| 龙游县| 青川县| 金塔县| 安达市| 盐亭县| 曲麻莱县| 永清县| 珲春市|