基于提供的三个参考类型 实现 找出2011年发生的交易记录 按照从低到高交易额排序 找出交易员都在哪些不同的城市工作过的城市 查找来自北京的交易 按交易员姓名排序 返回一个字符串包含所有交易员 字符串的顺序按照姓名排序 判断有没有交易员在北京工作 打印所有发生在北京的交易记录金额 所有交易中最高的交易是多少 所有交易中 交易最低的交易信息
以下是对每个问题的实现:
找出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/is6n 著作权归作者所有。请勿转载和采集!