有一个Java相当于Javascript的"一些"方法吗?

Zug*_*alt 8 javascript java collections guava

我有一个集合,我想知道是否至少有一个元素符合某些条件.基本上,有些人在JavaScript中做了什么,我想在集合上做!

Dav*_*ton 18

查看番石榴Iterables课程及其any()实施.

与其他答案中的Commons Collections示例大致相同,但是通用化:

List<String> strings = Arrays.asList("ohai", "wat", "fuuuu", "kthxbai");
boolean well = Iterables.any(strings, new Predicate<String>() {
    @Override public boolean apply(@Nullable String s) {
        return s.equalsIgnoreCase("fuuuu");
    }
});
System.out.printf("Do any match? %s%n", well ? "Yep" : "Nope");
Run Code Online (Sandbox Code Playgroud)

  • +1缺乏泛型是公共收藏的主要缺点. (3认同)

use*_*043 6

从Java 8开始,您可以将Collection转换为Stream并使用以下示例中的anyMatch

import java.util.Arrays;
import java.util.List;

public class SomeExample {
    public static void main(String[] args) {
        List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, -6, 7);
        boolean hasNegative = list.stream().anyMatch(x -> x < 0);
        if (hasNegative) {
            System.out.println("List contains some negative number");
        }
        else {
            System.out.println("List does not contain any negative number");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)