2012-02-17 17 views
1

Javaコードに関する助けが必要です。Java配列の比較

私は10要素の配列を持っています。私は最初の要素、すなわち、配列[0]から配列[1]、配列[2]、...配列[9]。配列[0]と等しい要素があれば、私はいくつかのアクションを実行します。私は配列[2]、配列[3]、... array [9]とarray [1]が何か等であるかどうかを調べる必要があります。私は本当にこれを理解することができないし、私は立ち往生しています。誰かが私を助けることができる?

+1

この答えはあなたを助けることができるかどうかを確認してください。http://stackoverflow.com/questions/840781/easiest-way-to-find-duplicate-をjavascript配列の値 – Aaike

答えて

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 
    } 
}