Java 快速确定列表是否至少包含数组中包含的一项的方法

Java 快速确定列表是否至少包含数组中包含的一项的方法,java,arrays,list,Java,Arrays,List,我有一个列表a和一个字符串[]b。如果数组中至少有一个列表成员,我希望返回true。就这点而言,我处理的是列表和字符串[],这并不重要。两者都可以是列表 编辑 Java8似乎为您提供了一种方法。更基本的方法呢 谢谢,没有Java 8流的单向: public boolean containsAtLeastOne( List<String> a, String[] b ) { Set<String> aSet = new HashSet( a ); for (

我有一个
列表a
和一个
字符串[]b
。如果数组中至少有一个列表成员,我希望返回true。就这点而言,我处理的是
列表
字符串[]
,这并不重要。两者都可以是列表

编辑 Java8似乎为您提供了一种方法。更基本的方法呢


谢谢,没有Java 8流的单向:

public boolean containsAtLeastOne( List<String> a, String[] b ) {
    Set<String> aSet = new HashSet( a );
    for ( s : b ) {
       if ( aSet.contains( s ) ) {
           return true;
       }
    }
    return false;
}
public boolean containsAtLeastOne(列表a,字符串[]b){
Set aSet=新哈希集(a);
(s:b){
如果(组件包含){
返回true;
}
}
返回false;
}
另一种方式:

 public boolean containsAtLeastOne( List<String> a, String[] b ) {
    Set<String> aSet = new HashSet( a );
    List<String> bList = Arrays.asList(b);

    bList.retainAll( aSet );

    return 0 < bList.size();
 }
public boolean containsAtLeastOne(列表a,字符串[]b){
Set aSet=新哈希集(a);
List bList=Arrays.asList(b);
B名单保留(aSet);
返回0
最基本的方法可能是循环?我不知道你为什么问一个问题,然后把VTC当作另一个问题的复制品…@Frakcool,是的,我认为是一样的,但不是…@Ravi这是唯一的方法吗?看起来太简单了,但话说回来…@DavidBrossard,正如你提到的,更基本的方法是什么。那么,是的。