亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使地圖不按任意順序打印水果,而是按從最低到最高的順序打印

使地圖不按任意順序打印水果,而是按從最低到最高的順序打印

烙印99 2022-05-12 17:38:49
我正在嘗試創建一個類來表示水果店,并希望輸出按價格排序的可用水果,從最便宜到最貴。但是,即使我按照最便宜到最貴的順序將價格添加到我的 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 回答

?
守著星空守著你

TA貢獻1799條經驗 獲得超8個贊

您應該使用TreeMap并在自定義比較器中指定您想要的順序。



查看完整回答
反對 回復 2022-05-12
?
犯罪嫌疑人X

TA貢獻2080條經驗 獲得超4個贊

您可以使用LinkedHashMap,并確保按照從最低到最高的順序將水果插入到地圖中,因為它維護插入順序,這與常規HashMap不同。

即換行:

fruitPricesMap = new HashMap<>();

對此:

fruitPricesMap = new LinkedHashMap<>();


查看完整回答
反對 回復 2022-05-12
  • 2 回答
  • 0 關注
  • 114 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號