配列のみを使用する場合は、次のように実行できます。
一時(ヘルパー)配列を作成します。これには、これまでに見た各要素が含まれtabT
ます。次に、値を出力する前に、ヘルパー配列(tmp)に値が表示されていないかどうかを確認します。
たとえば、に値がありtabT
、それぞれを複数回印刷したくない場合は、次のようにします。
int[] tabT = {1,2,3,1,1,2,6,7,2,7,1};
int[] tmp = new int[tabT.length];
boolean flag;
for (int i = 0; i < tabT.length; i++) {
tmp[i] = tabT[i];
flag = true;
for (int j = 0; j < tmp.length; j++)
if (tabT[i] == tmp[j] && i!=j) {
flag = false;
}
if(flag)
System.out.println(tabT[i]);
}
出力:[1,2,3,6,7]
このアイデアはプログラムに簡単に適用でき、各要素は1回だけ印刷されます。
Cars[] tmp = new Cars[tabT.length]; //Assuming tabT is from type Cars[]
boolean flag = true;
for (int i = 0; i < tabT.length; i++) {
tmp[i] = tabT[i];
if (tabT[i] != null) {
for (int j = 0; j < tmp.length; j++)
if (tabT[i].getCar().equals(tabT[j].getCar()) && i!=j)
flag = false;
if(flag)
System.out.println(tabT[i].getCar());
}
}
これにより、各車(または印刷しているもの)が1回だけ印刷されます。