stream系列——初识stream

初识stream

1、对于迭代来说,包含内部迭代和外部迭代。

外部迭代
内部迭代

外部迭代:(程序逻辑自己控制迭代过程)

int count = 0;
Iterator<Artist> iterator = allArtists.iterator();
while(iterator.hasNext()) {
Artist artist = iterator.next();
if (artist.isFrom("London")) {
count++;
}
}

内部迭代:(相当于函数回调,将方法传入给java库类内部,由库内部来回调你的接口函数)

package org.java8.stream;

import java.util.ArrayList;
import java.util.Collection;

public class StreamTest {

    public static void main(String[] args) {
        Collection<Artist> allArtists = new ArrayList<>();
        Artist test = new Artist();
        test.setFrom("London");
        allArtists.add(test);
        //遍历放在内部,将方法传入到内部作为函数进行调用
        long count = allArtists.stream()
                .filter(artist -> artist.isFrom("London"))
                .count();
        System.out.println(count);
        
        allArtists.stream()
                .filter(artist ->{
                     System.out.println("no print");//打印不出来,因为并没有具体的进行计算,判断计算方法是看返回的还是不是stream类型
                    return artist.isFrom("London"); 
                });
    }
    
    static class Artist {
        String name;
        String from;
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public boolean isFrom(String from) {
            return this.from.equalsIgnoreCase(from);
        }
        public String getFrom() {
            return from;
        }
        public void setFrom(String from) {
            this.from = from;
        }
    }
}

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 131,751评论 18 138
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 167,411评论 24 706
  • 文章参考阮一峰:MVC,MVP 和 MVVM 的图示深入响应式原理 最近工作中一直在使用Vue这一款框架作为开发工...
    大春春阅读 32,691评论 4 27
  • nginx配置文件主要分成四部分: main:全局设置,main部分设置的指令将影响其它所有部分的设置; serv...
    YONGSSU的技术站点阅读 1,147评论 0 0
  • 我记得我第一次坐飞机 是参加工作以后 去重庆 领了一包湿巾纸 一直放在办公室 直到干了
    平心看世界阅读 106评论 0 0
  • 日似一日,最美的却在夕阳 夕阳无限美,却又近黄昏。 期待过的轰轰烈烈, 却又“豪情万丈”的放下 往昔归咎于往昔 如...
    GentlemanAI阅读 156评论 0 1
  • 独灼雪夜凌窗里, 焚身只得荧火光。 稚童傅书蓬屋下, 儿郎志在状四方。
    小雅花阅读 184评论 0 0