2012-02-17 101 views
1

我需要一些关于Java代码的帮助。我有10个元素的数组。我想比较第一个元素,即。数组[0]到数组[1],数组[2],...数组[9]。如果我发现任何与数组[0]相等的元素,那么我执行一些操作。然后我需要比较数组[1]到数组[2],数组[3],...数组[1],并查找数组[1]是否等于某物等。我真的无法弄清楚这一点,而且我被卡住了。有人能帮我吗。Java Array比较

+1

请看看这个回答可以帮助你:http://stackoverflow.com/questions/840781/easiest-way-to-find-duplicate-值-IN-A-JavaScript的阵列 – Aaike 2012-02-17 01:04:02

回答

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])) 
      ...; 
    } 
} 
0

您可以在阵列进行排序,并很容易让for循环

Arrays.sort(array); 
for(int i = 0 ; i < array.length - 1; i++) { 
    if(array[i].equals(array[i++])) { 
     ........ 
     break(); 
    } 
} 
1

我会使用ArrayList和则y ou可以使用contains方法来查看List是否包含()您的项目。

Java Example

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"); 
     } 
    } 
} 
0
  1. 创建一组守住独特的元素。
  2. 迭代数组,尝试向该集添加元素。
  3. 如果元素被添加到集合中,这是第一次遇到该元素。
  4. 如果一个元素没有添加到集合中,那么它是一个重复项目。

针对上述步骤中的一些代码:

Set<Object> uniqueElements = new HashSet<Object>(); 
for (Object element : array) { 
    if (!uniqueElements.add(element)) { 
     // duplicate element; do your processing 
    } 
}