Java Stream API 交易数据处理示例:查找、排序、统计
// 找出2011年发生的交易记录, 按照从低到高交易额排序 // transactions.filter(transaction -> transaction.getYear() == 2011) // .sorted(Comparator.comparing(Transaction::getValue)) // .collect(Collectors.toList());
// 找出交易员都在哪些不同的城市工作过的城市 // transactions.stream() // .map(transaction -> transaction.getTrader().getCity()) // .distinct() // .collect(Collectors.toList());
// 查找来自北京的交易, 按交易员姓名排序 // transactions.stream() // .filter(transaction -> transaction.getTrader().getCity().equals("北京")) // .sorted(Comparator.comparing(transaction -> transaction.getTrader().getName())) // .collect(Collectors.toList());
// 返回一个字符串包含所有交易员, 字符串的顺序按照姓名排序 // transactions.stream() // .map(transaction -> transaction.getTrader().getName()) // .distinct() // .sorted() // .collect(Collectors.joining(", "));
// 判断有没有交易员在北京工作 // transactions.stream() // .anyMatch(transaction -> transaction.getTrader().getCity().equals("北京"));
// 打印所有发生在北京的交易记录金额 // transactions.stream() // .filter(transaction -> transaction.getTrader().getCity().equals("北京")) // .forEach(transaction -> System.out.println(transaction.getValue()));
// 所有交易中最高的交易是多少 // transactions.stream() // .map(Transaction::getValue) // .max(Integer::compareTo) // .get();
// 所有交易中, 交易最低的交易信息 // transactions.stream() // .min(Comparator.comparing(Transaction::getValue)) // .get();
原文地址: https://www.cveoy.top/t/topic/qaGH 著作权归作者所有。请勿转载和采集!