相关疑难解决方法(0)

在Java中使用HashSets时,方法retainAll的时间和空间复杂度是多少?

例如,在下面的代码中:

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)

java big-o hashset

14
推荐指数
1
解决办法
7725
查看次数

使用列表获取匹配项目索引的有效方法

我有两个列表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的方法 - 不要认为它返回匹配的索引.

java collections arraylist

8
推荐指数
1
解决办法
4873
查看次数

标签 统计

java ×2

arraylist ×1

big-o ×1

collections ×1

hashset ×1