lop*_*kzz 0 java sorting list java-stream
我有一个这样的方法:
public String mostExpensiveItems() {
List<Entry> myList = getList();
List<Double> expensive = myList.stream()
.map(Entry::getAmount)
.sorted(Comparator.reverseOrder())
.limit(3)
.toList();
return "";
}
Run Code Online (Sandbox Code Playgroud)
此方法需要以字符串形式返回最昂贵商品的产品 ID ,如下所示:3
"item1, item2, item3"
Run Code Online (Sandbox Code Playgroud)
我应该只能使用流,但我被困在这里了。我应该能够按值对项目进行排序,然后获取产品 ID,但我似乎无法使其工作。
入门级
public class Entry {
private String productId;
private LocalDate date;
private String state;
private String category;
private Double amount;
public Entry(LocalDate orderDate, String state, String productId, String category, Double sales) {
this.date = orderDate;
this.productId = productId;
this.state = state;
this.category = category;
this.amount = sales;
}
public String getProductId() {
return productId;
}
Run Code Online (Sandbox Code Playgroud)
假设产品 ID 在 Entry 内,它可以是这样的。
public String mostExpensiveItems() {
List<Entry> myList = getList();
List<String> expensive = myList.stream()
.sorted(Comparator.comparing(Entry::getAmount).reversed())
.limit(3)
.map(Entry::getProductID)
.toList();
return "";
}
Run Code Online (Sandbox Code Playgroud)
注意:我还没有测试过,但这应该能够传达这个想法。
| 归档时间: |
|
| 查看次数: |
1156 次 |
| 最近记录: |