• java 8 stream


    java 8 stream

    import java.util.ArrayList;
    import java.util.Comparator;
    import java.util.List;
    import java.util.LongSummaryStatistics;
    import java.util.stream.Collectors;

    public class Java8Stream {

        public static class CouponInfo {
            private Long capacity;
            private Integer number;
            private String messageString;

            public Long getCapacity() {
                return capacity;
            }

            public void setCapacity(Long capacity) {
                this.capacity = capacity;
            }

            public Integer getNumber() {
                return number;
            }

            public void setNumber(Integer number) {
                this.number = number;
            }

            public String getMessageString() {
                return messageString;
            }

            public void setMessageString(String messageString) {
                this.messageString = messageString;
            }

            public CouponInfo(Long capacity, Integer number, String messageString) {
                super();
                this.capacity = capacity;
                this.number = number;
                this.messageString = messageString;
            }

            public CouponInfo() {
                super();
                // TODO Auto-generated constructor stub
            }

        }

        public static void main(String[] args) {

            CouponInfo couponInfo1 = new CouponInfo(123L10001"5元现金券");
            CouponInfo couponInfo2 = new CouponInfo(124L10001"10元现金券");
            CouponInfo couponInfo3 = new CouponInfo(125L10002"全场9折");
            CouponInfo couponInfo4 = new CouponInfo(126L10002"全场8折");
            CouponInfo couponInfo5 = new CouponInfo(127L10003"全场7折");

            List<CouponInfo> couponInfoList = new ArrayList<>();
            couponInfoList.add(couponInfo1);
            couponInfoList.add(couponInfo2);
            couponInfoList.add(couponInfo3);
            couponInfoList.add(couponInfo4);
            couponInfoList.add(couponInfo5);

            // stream foreach
            foreach(couponInfoList);
            // stream filter
            filter(couponInfoList);
            // limit
            limit(couponInfoList);
            // sort
            sort(couponInfoList);
            // map
            map(couponInfoList);
            // statistic
            statistic(couponInfoList);
        }

        public static void foreach(List<CouponInfo> couponInfoList) {
            couponInfoList.stream().forEach(n -> System.out.print(n));
            System.out.println();
        }

        public static void filter(List<CouponInfo> couponInfoList) {
            couponInfoList.stream().filter(n -> n.getCapacity() > 126L).forEach(n -> System.out.print(n.getCapacity()));
            System.out.println();
        }

        public static void limit(List<CouponInfo> couponInfoList) {
            couponInfoList.stream().limit(3).forEach(n -> System.out.print(n.getCapacity()));
            System.out.println();
        }

        public static void sort(List<CouponInfo> couponInfoList) {
            couponInfoList.stream().sorted(Comparator.comparing(CouponInfo::getCapacity).reversed())
                    .forEach(n -> System.out.print(n.getCapacity()));
            System.out.println();
        }

        public static void map(List<CouponInfo> couponInfoList) {
            couponInfoList.stream().map(n -> n.getCapacity() * 2).forEach(n -> System.out.print(n));
            System.out.println();
        }

        public static void statistic(List<CouponInfo> couponInfoList) {
            List<Long> lists = couponInfoList.stream().map(n -> n.getCapacity()).collect(Collectors.toList());
            LongSummaryStatistics res = lists.stream().mapToLong(n -> n).summaryStatistics();
            System.out.println(res.getAverage());
            System.out.println(res.getCount());
            System.out.println(res.getMax());
            System.out.println(res.getMin());
            System.out.println(res.getSum());
        }
    }
  • 相关阅读:
    Delphi 使用字符串时,一个注意地方
    Delphi 字符串 详解
    Delphi SEH研究
    Delphi 新语法之Helper
    Delphi 判断一个二进制数中有多少个1
    Delphi 数据的理解
    Delphi 对象构造浅析后续
    Delphi 关于错误E2154 Type '%s' needs finalization not allowed in variant record
    Delphi 新语法介绍之For In
    Delphi 关于错误E1038 Unit identifier '%s' does not match file name
  • 原文地址:https://www.cnblogs.com/xiaoshahai/p/12161117.html
Copyright © 2020-2023  润新知