繁体   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