我需要过滤一个列表List
static Map<String, String> map1 = new HashMap<>();
static Map<String, String> map2 = new HashMap<>();
static Map<String, String> map3 = new HashMap<>();
static {
map1.put("key", "value");
map1.put("key2", "value2");
map2.put("key3", "value3");
map2.put("key2", "value2");
map3.put("key3", "value3");
map3.put("key4", "value4");
}
public static void main(String[] args) {
List<Map<String, String>> list = new ArrayList<>();
Map<String, String> resultMap = new HashMap<>();
list.add(map1);
list.add(map2);
list.add(map3);
List<Map<String, String>> result = list.stream()
.flatMap(map -> map.entrySet().stream())
.filter(value -> value.getValue().equals("value2"))
.map(x -> resultMap.put(x.getKey(), x.getValue()))
.collect(Collectors.toList());
}
对于执行此代码,我有错误:java:不兼容类型:推断变量T具有不兼容的边界相等约束:java.util.映射下界:java.lang.字符串
另一个快速解决方案是removeIf函数。具有重用同一列表对象的优点。
list.removeIf(map -> !map.containsValue("value2"));
如果要在输出列表中显示包含“value2”值的输入
列表的所有
映射
,则需要:
List<Map<String, String>> result =
list.stream()
.filter(map -> map.entrySet().stream().anyMatch (e->e.getValue().equals("value2")))
.collect(Collectors.toList());
或者(如厄立特里亚所说):
List<Map<String, String>> result =
list.stream()
.filter(map -> map.containsValue("value2"))
.collect(Collectors.toList());
我正在使用谷歌表单的过滤功能,但无法按我想要的方式使用,已经3天了。。。 基本上,我有第1页,有一列“电子邮件”和一列“潜在客户ID”。表2具有相同的“潜在客户ID”,但已过滤。含义,第1页,其“顺序为1,2,3,4,5…”。。。第二张不是,像是2,4,5,23,41。。。我想在表1中找到正确的电子邮件地址,该地址在两个表中具有相同的Lead ID。我使用了Filter函数,它工作得非常好,因为它
我使用的是spring,我用定义了bean。它是一个包含对象的列表。 这是我的数据privider类: 在configuration类中,我从创建了-它可以工作。 在服务中,我想从列表中修改一个对象,该对象与令牌字符串匹配,并且已将设置为。 这条小溪运行良好。现在,当有人为已确认的对象调用方法两次时,我希望抛出。我怎么能用这条小溪做到这一点呢?我可以将放在哪里? 编辑: 我现在的解决方案。我使用而
如何使用RxJava过滤项目列表? 我有以下代码,发出: 并且我想在之后应用筛选器。您可以在下一段代码中看到我的解决方案,但也许还有更好的方法?
试图从结构中获取项目列表,避免大量的for循环和if,所以我想使用 例如,lets具有以下结构: 我要创建: null List TestitemsFiltered=House1.FamilyList.Stream().FlatMap(f->f.PersonList.Stream().FlatMap(p->p.ItemList.Stream().Filter(Item->Item.Name.Equ
我有一个返回字符串[][]的方法,如下所示: 我做错了什么?
我想把这个列表收集到两张地图中(如果可能的话,也可以在一张地图中) 一个映射应该将映射到用户玩过的游戏数量--基本上是具有状态的游戏 另一个映射应该将存储到所有游戏计数。它看起来像这样 有没有一种方法可以在块内实现,而不是使用?