我有一个对象映射,如果对象属性满足特定条件,我想从映射中删除它。
地图如下
Map<String, ExchangeSummaryItem> under20 = mapper.readValue(new URL("https://rsbuddy.com/exchange/summary.json"), new TypeReference<Map<String, ExchangeSummaryItem>>() {});
每个 ExchangeSummary 都有一个sell_average、sell_quantity和buy_quantity,如果sell_average > 2000,并且买入/卖出数量均为 0,我想将其从地图中删除。
我当前的代码如下所示,但无法成功从映射中删除任何值(映射仍然具有相同的大小)
for (ExchangeSummaryItem item : under20.values()) {
int ObjSellAverage = item.getSellAverage();
int ObjSellQ = item.getSellQuantity();
int ObjBuyQ = item.getBuyQuantity();
if (ObjSellAverage > 20000 && ObjSellQ == 0 && ObjBuyQ == 0){
System.out.println(under20.size());
under20.remove(item);
}
}
任何关于为什么会发生这种情况的帮助将不胜感激!谢谢!
皈依舞
相关分类