作者:左胸花枯萎 | 来源:互联网 | 2023-02-04 10:41
我有这样的数据集:
water, 5
eggs, 3
juice, 7
bread, 4
我保存所有这些
HashMap dataSet = new LinkedHashMap();
现在我想创建一个函数来打印从最大整数到最小的元素:
juice, 7
water, 5
bread, 4
eggs, 3
我认为最简单的方法是创建一个HashMap数据集的副本,然后我必须运行HashMapCopy,找到最大值,打印最大元素并从列表中删除它.
private static void printMaxToMin(){
dataSetCopy = new LinkedHashMap(dataSet);
}
如何运行所有列表,找到最大值,每次打印具有最大值的元素对然后删除它?
1> Ousmane D...:
这是按价值排序的一种方式.
dataSet.entrySet().stream()
.sorted(Map.Entry.comparingByValue().reversed())
.forEach(x -> {
System.out.println(x.getKey() + ","+ x.getValue());
});
结果:
juice,7
water,5
bread,4
eggs,3
这个答案绝对比我的好.你应该使用它.