作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
从这些数据结构中,我想按值删除满足特定条件的元素
<Data Structures>
- RowSortedTable<String, String, Double> a; (Guava Table)
- HashMap<String, Double> b;
来自previous question ,我使用 Collections.Singleton
找到了优雅的答案,但是,似乎需要精确匹配。
hmap.values().removeAll(Collections.singleton("Two"));
在这里,我想从表或 map 中删除值小于特定阈值的元素。您将如何编写代码?
我刚查了两个答案,都是关于map的答案,那table case呢?我的解决方案如下。
for (Iterator<String> it1 = proptypeconf.columnKeySet().iterator(); it1.hasNext();) {
String type = it1.next();
System.out.println(type);
for (Iterator<Map.Entry<String, Double>> it2 = proptypeconf.column(type).entrySet().iterator(); it2.hasNext();){
Map.Entry<String, Double> e = it2.next();
if (e.getValue() < conflist.get(index-1)) {
it2.remove();
}
}
}
最佳答案
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()
。
关于java - 按满足一定条件的值移除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33134499/
我正在做一个项目,我的 android 在这个项目中作为一个网络服务器工作;输入带端口号的 IP 地址,打开 Web 界面,用户可以将文件上传到手机。我想在 Web 界面上显示一些图片,以便我们的界面
我是一名优秀的程序员,十分优秀!