簡體   English   中英

從 Java 中的 Map 中刪除 Class object 密鑰

[英]Removal of Class object key from Map in Java

我有一個 Map ,其鍵/值對由字符串和 class object Block組成。 remove(Object key, Object value)方法無法真正刪除指定的 object。

private static Map<String, ArrayList<Block>> stockInfo = new LinkedHashMap<>();

我的 IDE 提示我,我在Object value數據字段中的條目“可能不包含‘塊’類型的值”關於 ZD52387880E1EA22817A71ZD37592138 中的方法和傳遞值,我缺少什么基本概念? 我只在 Java 中編碼了很短的時間。

stockInfo.remove(symbolCode, (stockInfo.get(symbolCode)).get(0));

我有一個 Map,其鍵/值對由字符串和 class object 塊組成。

不,你沒有。

您聲明了StringBlock類型對象集合的映射。 特別是ArrayList集合。

因此編譯器拒絕您刪除字符串到塊條目的嘗試,因為沒有這樣的條目。 您的Map中只有 string-to-list-of-blocks 條目。

Map<String, ArrayList<Block>> stockInfo = new LinkedHashMap<>();

字符串到塊的映射如下所示:

Map< String, Block > 
stockInfo.remove(symbolCode, (stockInfo.get(symbolCode)).get(0));

你想刪除什么? 如果您有三個塊對象,例如:

Block block1 = new Block(); 
Block block2 = new Block();
Block block3 = new Block();
List list1 = new ArrayList();
list1.add(block1);
list1.add(block2);
List list2 = new ArrayList();
list2.add(block2);
list2.add(block3);

你的 map 里有什么? 像這樣:

"12" ---> {block1, block2}; "23" ---> {block2, block3};

你想用“12”鍵刪除 object block1 嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM