請問一下,我想限制Map的大小
google後有找到一些LinkedHashMap的使用範例
改寫方法後這個Map也符合FIFO
不過目前遇到一個問題
就是假設我現在Map的大小限制為10
當我存資料到第九筆時
再更新第一筆的資料後
繼續塞第十和第十一筆
這時因為超過限制的大小
所以最舊的資料被刪除了
print後發現是第一筆被刪掉了
但期望的行為是第一筆因為有被更新過所以並不會被當成最舊的資料
應該是沒被更新過的第二筆資料被刪除
請問這部分應該怎麼改寫比較好
可能是因為「最舊的資料」的資料的定義
是最早插入的資料
而非有更新的資料
改寫的方法就是「把更新改成 刪除+插入」
類似這樣
hm1.remove(1);
hm1.put(1, "New 1"); //原本只有這列
原本直接修改第1筆的結果
把更新改成 刪除+插入的結果