2016-06-23 20 views
0

配列を循環させて要素が複製されているかどうかを確認し、存在する場合は、それに続くn個の要素を削除します。配列内の特定の複製要素をn番目の要素ごとに検索

私が探している要素を超えて重複することがあります。基本的には、配列内の12個の要素ごとに。最初の要素が既に配列に入っているかどうかを確認したい場合は、次の要素を追加しないでください。もしそうでなければ、12をすべて追加します。ハッシュしようとしましたが、

+0

既存の配列を繰り返し処理して、その要素が既に存在するかどうかを確認してください。そして、 'hash'は配列の中で検索することと何が関係していますか? – ParkerHalo

+0

短い答え、はい、これは可能です。コレクションを繰り返すことは、ソフトウェアエンジニアリングのパンとバターです。最近は非常に一般的で、かなり簡単なものです。 – Frecklefoot

+0

特定のインデックスに重複を探しています。ユニークであれば、次の11個の要素を追加します。そうでなければ、次の11個の要素を追加しないでください。 –

答えて

0

私のJavaは少し錆びますが、という配列のメソッドがないので、同じことをするヘルパーメソッドを作成するか、より便利なArrayListクラスを使用します。

ReallyCoolType tStatArray = datatList.toArray(); // didn't see a type, so I made up one 
int endOf = tStatArray.length; // why declare this but never use it? Not really needed, but... 
SortedSet<Object> set = new TreeSet<Object>(); 
for (int i = 0; i < endOf; i++) { 
    // note the use of i, not the undeclared j 
    if(!contains(set, tStatArray[i]) 
    { 
     set.add(tStatArray[i]); 
    } 
} 

// and you can keep printing it out if you want... 
Iterator it = set.iterator(); 
while(it.hasNext()) { 
    System.out.println(it.next()); 
} 

... 

public bool contains(ReallyCoolType[] paramArray, ReallyCoolType findMe) { 
    bool found = false; 
    for (reallyCoolType param : paramArray) { 
     if(reallyCoolType.Equals(param, findMe) { 
      found = true; 
      break; 
     } 
    } 
    return found; 
} 

役立ちます希望:あなたは配列に結婚している場合は、この(私のJava構文が少しずれることがあります)のような何かを行うことができます。

+0

ありがとう、私は確かにそれを試してみます。私はそれをもう少し書いて、一意の最初のフィールドを得るために管理し、それに続くデータを取得する必要があります。 –

関連する問題