说到Stream便容易想到I/O Stream,而实际上,谁规定“流”就一定是“IO流”呢?在Java 8中,得益于Lambda所带
来的函数式编程,引入了一个全新的Stream概念,用于解决已有集合类库既有的弊端。
Stream流属于管道流,只能被消费(使用)一次
java传统的数组遍历,会对集合中每一个字符进行遍历打印输出:
public static void main( String[] args ) { ArrayList<String> list = new ArrayList<>(); list.add("一个猪"); list.add("二个牛"); list.add("一个人"); list.add("一个猫"); //foreach循环遍历 for (String name:list) { System.out.println(name); } }
stream 的遍历,更关注于做什么,按需遍历数据
public static void main( String[] args ) { ArrayList<String> list = new ArrayList<>(); list.add("一个猪"); list.add("二个猪"); list.add("一个人"); list.add("一个猫"); //stram 遍历 list.stream().forEach(name-> System.out.println(name)); }
Stream<Stri