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

Java8特性之用Stream流代替For循環(huán)操作詳解

 更新時間:2021年09月30日 15:38:26   作者:四季人06  
這篇文章主要介紹了Stream流代替For循環(huán)進(jìn)行輸出,這樣可以使代碼更簡潔,希望對大家有所幫助。一起跟隨小編過來看看吧

準(zhǔn)備一個實(shí)體類

public class Student {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

準(zhǔn)備一個List集合

        List<Student> list=new ArrayList<>();
        Student s1=new Student();
        s1.setName("張三");
        s1.setAge(18);
        list.add(s1);
        Student s2=new Student();
        s2.setName("李四");
        s2.setAge(22);
        list.add(s2);

傳統(tǒng)的for循環(huán)

        //for循環(huán)
        for (int i=0;i< list.size();i++){
            System.out.println(list.get(i));
        }

        //增強(qiáng)for循環(huán)
        for(Student student: list){
            System.out.println(student);
        }
        //迭代器
        Iterator<Student> iterator = list.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next());
        }

使用Stream流

        //遍歷List集合
        list.stream().forEach(str->{
           System.out.println(str.getName()+":"+str.getAge());
        });
        //過濾 把名字為李四的過濾掉
        list.stream().filter(str -> !"李四".equals(str.getName())).forEach(str -> {
            System.out.println(str.getName()+":"+str.getAge());
        });
         //操作對象,拼接
       //String collect=list.stream().map(student->student.getName()).collect(Collectors.joining(",","前","后"));
       // System.out.println(collect);

先聲明篩選條件,在遍歷

 //聲明一個條件 學(xué)生年齡大于18
 Predicate<Student> pred = (student) -> student.getAge() > 18;
 //調(diào)用方法
 selectStudent(list,pred);
 private static void selectStudent(List<Student> list, Predicate<Student> pred) {
        System.out.println("選出年齡大于18的學(xué)生:");
        list.forEach(student -> {
            if (pred.test(student)){
                System.out.println(student.getName()+":"+student.getAge());
            }
        });

    }

Stream操作 嵌套循環(huán)(2層)

//java 8 stream操作 嵌套循環(huán)
        List<Student> list = list1.stream().filter(student1 -> list2.stream()
                .anyMatch(studnet2 -> student1.getName().equals(studnet2.getName()) ))
                .collect(Collectors.toList());
        System.out.println("stream操作篩選后的結(jié)果" + list.get(0).getName());

但是不建議foreach套foreach

到此這篇關(guān)于Java8特性之用Stream流代替For循環(huán)操作詳解的文章就介紹到這了,更多相關(guān)Java Stream流代替For循環(huán)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 簡述Java中的四種引用類型

    簡述Java中的四種引用類型

    從JDK1.2版本開始,把對象的引用分為四種級別,從而使程序能更加靈活的控制對象的生命周期。這四種級別由高到低依次為:強(qiáng)引用、軟引用、弱引用和虛引用,下面分別介紹下這四種引用。
    2021-04-04
  • 基于令牌桶的限流器注解的簡單實(shí)現(xiàn)詳解

    基于令牌桶的限流器注解的簡單實(shí)現(xiàn)詳解

    令牌桶算法是一種常用的流量控制算法,用于限制請求或事件的發(fā)生速率,這篇文章主要介紹了如何基于令牌桶實(shí)現(xiàn)限流器注解,需要的可以參考一下
    2023-08-08
  • java實(shí)現(xiàn)Z字形掃描程序

    java實(shí)現(xiàn)Z字形掃描程序

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)Z字形掃描程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Java切割字符串的踩坑實(shí)戰(zhàn)記錄

    Java切割字符串的踩坑實(shí)戰(zhàn)記錄

    最近在項(xiàng)目中使用了java中的分割字符串,踩了一個坑,充分了展示了自己對java底層的認(rèn)知有很多的不足和欠缺,下面這篇文章主要給大家介紹了關(guān)于Java切割字符串的踩坑實(shí)戰(zhàn)記錄,需要的朋友可以參考下
    2022-11-11
  • Java 中的內(nèi)存映射 mmap

    Java 中的內(nèi)存映射 mmap

    這篇文章主要介紹了Java 中的內(nèi)存映射,mmap 是一種內(nèi)存映射文件的方法,即將一個文件映射到進(jìn)程的地址空間,實(shí)現(xiàn)文件磁盤地址和一段進(jìn)程虛擬地址的映射,下面來看看詳細(xì)內(nèi)容,需要的朋友可以參考一下
    2021-11-11
  • Java8 Stream中間操作實(shí)例解析

    Java8 Stream中間操作實(shí)例解析

    這篇文章主要介紹了Java8 Stream中間操作實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • Spring Boot 在啟動時進(jìn)行配置文件加解密的方法詳解

    Spring Boot 在啟動時進(jìn)行配置文件加解密的方法詳解

    這篇文章主要介紹了Spring Boot 在啟動時進(jìn)行配置文件加解密的方法,本文通過實(shí)例給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • Java實(shí)現(xiàn)調(diào)用接口API并返回數(shù)據(jù)

    Java實(shí)現(xiàn)調(diào)用接口API并返回數(shù)據(jù)

    這篇文章主要介紹了Java實(shí)現(xiàn)調(diào)用接口API并返回數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • mybatisplus之使用@Select解讀

    mybatisplus之使用@Select解讀

    這篇文章主要介紹了mybatisplus之使用@Select解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 使用JPA插入枚舉類型字段

    使用JPA插入枚舉類型字段

    這篇文章主要介紹了使用JPA插入枚舉類型字段,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06

最新評論

余干县| 凉城县| 和田县| 芒康县| 巴里| 西峡县| 定边县| 东辽县| 永定县| 张家港市| 屏南县| 丹东市| 商河县| 阳曲县| 铜川市| 丰城市| 深州市| 连江县| 开封县| 青龙| 西乡县| 大悟县| 即墨市| 泰顺县| 奇台县| 平阳县| 洪雅县| 禄丰县| 大石桥市| 彝良县| 盘山县| 上蔡县| 大理市| 阜平县| 雷山县| 定南县| 德昌县| 台东市| 曲周县| 松江区| 东明县|