例如,在下面的代码中:
public int commonTwo(String[] a, String[] b)
{
Set common = new HashSet<String>(Arrays.asList(a));
common.retainAll(new HashSet<String>(Arrays.asList(b)));
return common.size();
}
Run Code Online (Sandbox Code Playgroud) 我有两个列表A和B.我想找出A中与listB元素匹配的元素索引.像这样的东西:
ArrayList listA = new ArrayList();
listA.add(1);listA.add(2);listA.add(3);listA.add(4);
ArrayList listB = new ArrayList();
listB.add(2);listB.add(4);
ArrayList listC = new ArrayList();
for(int i=0; i<listB.size();i++) {
int element = listB.get(i);
for(int j=0; j<listA.size(); j++) {
if(listA.get(j) == element) listC.add(j);
}
}
Run Code Online (Sandbox Code Playgroud)
我想这是一个难看的方式.找到与B中所有元素匹配的A的所有索引的最佳方法是什么?我相信在集合api中存在一个名为containsAll的方法 - 不要认为它返回匹配的索引.