Java 如果HashMap具有偶数as值,如何返回 Map hm=newhashmap(); //假设hm已填充 如果(hm.containValue(***){…} //***=包含偶数
我试着做一些类似于Java 如果HashMap具有偶数as值,如何返回 Map hm=newhashmap(); //假设hm已填充 如果(hm.containValue(***){…} //***=包含偶数,java,java-8,hashmap,Java,Java 8,Hashmap,我试着做一些类似于(x->x%2==0)的事情,但不起作用 有什么建议吗?假设我们有一个谓词: Map<String, Integer> hm = new HashMap<>(); //assume hm is populated if(hm.containValue(***){ ... } // *** = contains even number 要计算所有偶数,请执行以下操作: boolean containsEvenNumber = map.values().
(x->x%2==0)
的事情,但不起作用
有什么建议吗?假设我们有一个谓词:
Map<String, Integer> hm = new HashMap<>();
//assume hm is populated
if(hm.containValue(***){ ... }
// *** = contains even number
要计算所有偶数,请执行以下操作:
boolean containsEvenNumber = map.values().stream().anyMatch(isEvenNumber);
得到所有偶数
- 列出:
long countEvenNumbers = map.values().stream().filter(isEvenNumber).count();
int[] evenNumbers = map.values().stream().filter(isEvenNumber).mapToInt(Integer::intValue).toArray();
如果在映射的值中找到任何偶数,则以下代码将为布尔值true,否则为false
for (int i : hm.values()) {
if( i % 2 == 0) {
//do what you want here
}
}
publicstaticvoidmain(字符串[]args){
//初始化映射
Map hm=新的HashMap(){{
付诸表决(“A”,1);
付诸表决(“B”,3);
put(“C”,4);
付诸表决(“D”,7);
}};
布尔值found偶数=hm.values()
.stream()
.anyMatch(i->i%2==0);
System.out.println(found偶数);
}
如果我有一个以上的偶数是否要返回?“如果我有一个以上的偶数是否要返回?”=>hm.values().stream().filter(x->x%2==0)。count()>1
我想是的J@AndrewTobilko啊,我只回答PO的问题:D@AndrewTobilko,好的,我知道了。我只是想告诉阿宝如何得到他想要的。嗯,谢谢。
int[] evenNumbers = map.values().stream().filter(isEvenNumber).mapToInt(Integer::intValue).toArray();
for (int i : hm.values()) {
if( i % 2 == 0) {
//do what you want here
}
}
public static void main(String[] args) {
// Initialize Map
Map<String, Integer> hm = new HashMap<String , Integer>(){{
put("A", 1);
put("B", 3);
put("C", 4);
put("D", 7);
}};
boolean foundEven = hm.values()
.stream()
.anyMatch(i -> i % 2 == 0);
System.out.println(foundEven);
}