从这些数据结构中,我想按值删除元素,满足某些条件
.git/config
从previous question开始,我使用<Data Structures>
- RowSortedTable<String, String, Double> a; (Guava Table)
- HashMap<String, Double> b;
找到了优雅的答案,但似乎需要完全匹配。
Collections.Singleton
在这里,我想从表格或地图中删除其值小于特定阈值的元素。您编写代码的方式是什么?
我刚检查了两个答案,这些是关于地图的答案,表格案例怎么样?我的解决方案如下。
hmap.values().removeAll(Collections.singleton("Two"));
答案 0 :(得分:4)
Iterator<Integer> iterator = hmap.values().iterator();
while (iterator.hasNext()) {
if (iterator.next() < threshold) {
iterator.remove();
}
}
当然,如果你使用的是Java 8,那就容易多了:
hmap.values().removeIf(value -> value < threshold);
表的工作方式完全相同;只需使用table.values()
代替hmap.values()
。