我正在尝试创建一个类来表示水果店,并希望输出按价格排序的可用水果,从最便宜到最贵。但是,即使我按照最便宜到最贵的顺序将价格添加到我的 FruitPricesMap 中,它总是以相同的任意顺序打印水果?我怎样才能让它不这样做?****水果商店.java****import java.util.*;public class FruitStore { private Map<String, Double> fruitPricesMap; public FruitStore() { fruitPricesMap = new HashMap<>(); } public boolean addOrUpdateFruit(String fruitName, double fruitPrice) { fruitPricesMap.put(fruitName, fruitPrice); return true; } public void printAvaliableFruit() { System.out.println("Avaliable Fruit:"); for (String key : fruitPricesMap.keySet()) { System.out.printf("%-15s %.2f", key, fruitPricesMap.get(key)); System.out.println(); } }}****FruitStoreApp.java****public class FruitStoreApp { public static void main(String[] args) { FruitStore fs = new FruitStore(); fs.addOrUpdateFruit("Banana", 1.00); fs.addOrUpdateFruit("Apple", 2.00); fs.addOrUpdateFruit("Cherries", 3.00); fs.printAvaliableFruit(); }}****电流输出****Avaliable Fruit:Apple 2.00Cherries 3.00Banana 1.00 ****期望的输出(从最便宜到最贵):****Avaliable Fruit:Banana 1.00Apple 2.00Cherries 3.00
2 回答
犯罪嫌疑人X
TA贡献2080条经验 获得超4个赞
您可以使用LinkedHashMap,并确保按照从最低到最高的顺序将水果插入到地图中,因为它维护插入顺序,这与常规HashMap不同。
即换行:
fruitPricesMap = new HashMap<>();
对此:
fruitPricesMap = new LinkedHashMap<>();
添加回答
举报
0/150
提交
取消