我有List<String> a
和String[] b
。如果数组中至少有一个列表成员,我想返回true。就此而言,我处理List<String>
和String[]
并不重要。两者都可以是名单。
Java 8为您提供了do it via streams的方法。那些更基本的方法呢?
由于
答案 0 :(得分:2)
没有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( List<String> a, String[] b ) {
Set<String> aSet = new HashSet( a );
List<String> bList = Arrays.asList(b);
bList.retainAll( aSet );
return 0 < bList.size();
}