JAVA | 58

来源:互联网 发布:夕颜葬相似的网络歌曲 编辑:程序博客网 时间:2024/04/30 09:59

Stream:数据的加工处理操作。
MapReduce:Map:处理数据,Reduce:分析数据。

import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.function.Predicate;import java.util.stream.Collectors;import java.util.stream.Stream;class Book{    private String title;    private int price;    public Book(String title, int price){        this.title = title;        this.price = price;    }    @Override    public String toString() {        return this.title + " " + this.price;    }    @Override    public boolean equals(Object obj) {        if(obj == this){            return true;        }        if(obj == null){            return false;        }        if(!(obj instanceof Book)){            return false;        }        Book book = (Book) obj;        if(book.title.equals(this.title) && book.price == this.price){            return true;        }        return false;    }}public class Main {    public static void main(String[] args) throws Exception{        // 设置了泛型,从而保证集合中所有的数据类型都一致        List <Book> list = new ArrayList <Book> ();        Book bookA = new Book("java",100);        Book bookB = new Book("c",89);        Book bookC = new Book("c++",100);        Book bookD = new Book("python",100);        Collections.addAll(list,bookA,bookB,bookC,bookD,bookA,bookB,bookC,bookD);        Stream <Book> stream = list.stream();        // 去掉重复数据        List <Book> list1 = stream.distinct().collect(Collectors.toList());        System.out.println(list1);        // 过滤数据        Predicate <Book> predicate = (x) -> x.equals(bookA);        List <Book> list2 = stream.filter(predicate).collect(Collectors.toList());        System.out.println(list2);    }}
原创粉丝点击