【发布时间】:2019-03-11 01:39:55
【问题描述】:
我的代码很长,但我会包含相关的 sn-p。我正在创建一个带有商店元素的 GUI。我有一个名为 PopularItemsTxt 的文本字段,其中包含我列表中最受欢迎的 3 个项目。
for(int i =0; i<3;i++) {
if(electronicStore.stock[i] != null) {
popularTxt.getItems().add(electronicStore.stock[i].toString());
}
}
但是,我有一个按钮来计算最终购物车中的物品,当按下此按钮时,我希望能够找到已添加到该列表中的 3 个最常见的物品。任何帮助/指导将不胜感激。
btnComplete.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent e) {
//if the list has a minimum of 1 item
if (currentCartTxt.getItems().size() > 0) {
for(int i =0; i<3;i++) {
if(electronicStore.stock[i] != null) {
popularTxt.getItems().add(electronicStore.stock[i].toString());
List<ElectronicStore> topThree = Arrays.stream(electronicStore.stock)
.sorted(Comparator.comparing(ElectronicStore::createStore).reversed())
.limit(3)
.collect(Collectors.toList());
}
}
}
});
现在输出只是我的数组列表中的前三个项目。 比较时出现错误
【问题讨论】:
-
如果您已经有了选择的商品列表和确定每个商品的受欢迎程度的方法,最简单的方法是按照受欢迎程度对购买的商品进行排序,只查看前三个。我是否遗漏了某些东西或者那会起作用吗?
-
这正是我的想法,但我不知道如何对最常见的项目进行排序
标签: java listview user-interface actionevent