2017-01-05 8 views
0

同じ値を持つすべての重複オブジェクトを1つのプロパティで削除しようとしています。私はcourses[]オブジェクトを持っており、すべて1個の4桁integerからなるcourseLevelオブジェクトを含んでいます。現在のオブジェクト値の値を他の人と比較する

私はループ内で0からインクリメントして、データを格納し、ループの繰り返しごとにリセットして、次のインクリメントされたcourses[x]オブジェクトに新しい情報を格納します。

 for (int n = 0; n < courses.length; n++) { 
      if (courses[x].getCourseLevel() == courses[n].getCourseLevel()) { 
       System.out.println("Duplicate" + courses[x]); 
      } 
     } 

私はcourses[x]を開始し、そのcourseLevelは、その時点までに作成されているが、問題は、それは私がどのように確認することができ、その自己をチェックしている他のオブジェクトのいずれかと等しいかどうかを確認したい見ることができるようにすべてcourses[n]courses[x]

equals()を使用しようとしましたが、int型を比較できませんでした。

+6

あなたは 'のequals()をオーバーライドし'と 'のhashCode()'メソッド、次に取得するために 'Set'内のすべてのオブジェクトを置くことであろう&& X!= N ' – Compass

+2

簡単な方法'試みることができます一意のオブジェクトのみ – user2004685

+0

私は実際にそれを試みました。私はすべてのオブジェクトをリストに追加しました。その後、セットに戻りリストに戻りました。それからコースレベル(昇順)でソートしました。 – OneU

答えて

0
for (int n = 0; n < courses.length; n++) { 
     if ((courses[x].getCourseLevel() == courses[n].getCourseLevel()) && x != n) { 
      System.out.println("Duplicate" + courses[x]); 
     } 
    } 
関連する問題