我编写了下面的代码来从ArrayList中获取重复的元素。我的aerospikePIDs列表没有任何重复的值,但是当我执行下面的代码时,它仍然在读取if条件。
ArrayList<Integer> aerospikePIDs = new ArrayList<Integer>();
ArrayList<Integer> duplicates = new ArrayList<Integer>();
boolean flag;
for(int j=0;j<aerospikePIDs.size();j++) {
for(int k=1;k<aerospikePIDs.size();k++) {
if(aerospikePIDs.get(j)==aerospikePIDs.get(k)) {
duplicates.add(aerospikePIDs.get(k));
flag=true;
}
if(flag=true)
System.out.println("duplicate elements for term " +searchTerm+duplicates);
}
}
您的内部循环应该从j+1
(而不是从1
)开始,否则当j=1
(j的第二次迭代)时,对于k=1
(对于j值等于1的k的第一次迭代)。
aerospikePIDs.get(j)==aerospikePIDs.get(k)
返回true
。
所以代码应该是:
ArrayList<Integer> aerospikePIDs = new ArrayList<Integer>();
ArrayList<Integer> duplicates = new ArrayList<Integer>();
for (int j = 0; j < aerospikePIDs.size(); j++) {
for (int k = j + 1; k < aerospikePIDs.size(); k++) {
if (aerospikePIDs.get(j)==aerospikePIDs.get(k)) {
duplicates.add(aerospikePIDs.get(k));
System.out.println("duplicate elements for term " +searchTerm+duplicates);
}
}
}
问题内容: 我有两个。每个大小为100000。我想比较它们并计算匹配的元素。 这是我的代码: 在这里比较过程要花费很多时间。 如何解决和优化此问题。 问题答案: 您应该使用:返回一个包含collection1中所有元素的集合,这些元素也处于collection2中。
我得到了两个字符串类型arraylist。一个列表包含“book1”、“book2”、“book3”和“book4”。另一个arrayList包含“book1”、“book2”、“book3”。因此,第一个列表的大小为4,第二个列表的大小为3。我创建了另一个与第一个列表大小相等的arrayList 但是当我这样做的时候,我不能设置1,因为我不能进入if状态,有人能帮我吗
问题内容: 我得到了两个String类型的arraylist ..一个包含“ book1”,“ book2”,“ book3”和“ book4”的列表。另一个arrayList包含“ book1”,“ book2”,“ book3”。因此,第一个列表的大小为4,第二个列表的大小为3。我创建了另一个与第一个列表的大小相等的arrayList 如果两个列表之间的内容相等,那么我将设置为1而不是0。 所
问题内容: 我了解这是作为双重链接列表实现的。它在add和remove上的性能优于,但在get和set方法上却较差。 这是否意味着我应该选择在插入? 我写了一个小测试,发现插入速度更快。那如何链表比? 请参考下面的示例。 问题答案: Linkedlist确实在插入时速度更快,问题出在您的示例中。在您的代码中,您一直都需要附加到末尾。对于ArrayList,它与LinkedList一样容易。您应该做
问题内容: 我有两个Arraylist 其包含以下值是 AllProcessList arraylist包含所有Java进程,RunningProcessList arraylist包含当前正在运行的进程。我想比较这两个arraylist并显示是否未运行该进程。例如,比较两个列表并要显示以下进程未运行。 我使用了以下代码,但无法正常工作。 问题答案: 查看List的文档,尤其是removeAll(
我正在做一个学校作业,我必须检查ArrayList teKoop中的某些对象是否不在ArrayList mijnGames中,问题是我一直设置这个错误代码:索引1 out of length 1 out of bounds for length 1 这里有什么明显的问题吗? 如有任何帮助,我们将不胜感激。 因此indexOutOfBound错误已修复,新问题出现:s 它一直返回给我一个空的Arra