我需要一些Java代码的帮助。
我有一个包含10个元素的数组。我想比较第一个元素,即。 array [0]到array [1],array [2],... array [9]。如果我发现任何等于array [0]的元素,那么我会执行一些操作。然后我需要将array [1]与array [2],array [3],... array [9]进行比较,并查找array [1]是否等于某事,依此类推。我真的无法理解这一点,我被卡住了。有人可以帮助我。
答案 0 :(得分:5)
为了与所有其他元素进行比较,从下一步开始并进行处理:
int i = x; //set i to the array index to compare against
for(int j = i + 1; j < array.length; j++){
if(array[i].equals(array[j]))
...;
}
如果您希望像这样浏览整个列表,可以执行以下嵌套:
for(int i = 0; i < array.length; i++){
for(int j = i + 1; j < array.length; j++){
if(array[i].equals(array[j]))
...;
}
}
答案 1 :(得分:1)
我会使用ArrayList,然后您可以使用contains方法查看List是否包含()您的项目。
package org.kodejava.example.util;
import java.util.ArrayList;
import java.util.List;
public class ArrayListContains {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("Item 1");
list.add("Item 2");
list.add("Item 3");
list.add("Item 4");
if (list.contains("Item 1")) {
System.out.println("True");
} else {
System.out.println("False");
}
}
}
答案 2 :(得分:0)
您可以对数组进行排序,并使for循环变得轻松
Arrays.sort(array);
for(int i = 0 ; i < array.length - 1; i++) {
if(array[i].equals(array[i++])) {
........
break();
}
}
答案 3 :(得分:0)
上述步骤的一些代码:
Set<Object> uniqueElements = new HashSet<Object>();
for (Object element : array) {
if (!uniqueElements.add(element)) {
// duplicate element; do your processing
}
}