arraylistの重複要素の数を調べて重複する要素をandoridの異なるtextviewsに追加する方法。arraylistの重複要素の数を見つけてdupplicate要素を別のtextviewsに追加する方法
私はTextViewにするために追加する必要がありますどのように多くの重複値現在のArrayList 2)重複する値の数の重複要素 1)と25個の要素が含まれている3異なるのTextViewと単一のArrayListを持っています。
arraylistの重複要素の数を調べて重複する要素をandoridの異なるtextviewsに追加する方法。arraylistの重複要素の数を見つけてdupplicate要素を別のtextviewsに追加する方法
私はTextViewにするために追加する必要がありますどのように多くの重複値現在のArrayList 2)重複する値の数の重複要素 1)と25個の要素が含まれている3異なるのTextViewと単一のArrayListを持っています。
Collections.frequencyは、リスト内のオブジェクトの出現を示します。
もう1つのオプションは並べ替えてから繰り返し、array[i+1] == array[i]
の場合は重複する値の数を増やすことです。
この場合の要素がプリミティブ型でない場合は、オペレータに過負荷を忘れないようにしてください。
サンプル実装:
void countOcc(int []arr) {
Set<Integer> uniques = new LinkedHashSet<Integer>();
for(int x : arr) {
uniques.add(x);
}
for(int y : uniques) {
int totalOcc = Collections.frequency(Arrays.asList(arr), y);
//gives total occurences for each unique element in the array
}
}
詳細を教えてください。 – Jonaswg
ありがとうございます。私のarraylist配列インフォメーション33です:[5,1,5,2,2,2,2,2,2,5,3,2,3,3,4,4,2,2,2,2 、2,2,2,2,2]である。このarraylistでは、私は2、3、5の個数を表示したいと思っています。そして、総数はtextviewで表示されます...これは私のコードです。セット
新しい編集を参照してください – Jonaswg
とのArrayList内の各要素の周波数を見つけます。
ハッシュマップを使用すると、要素の頻度を格納するパフォーマンスが向上します。
ゼロに初期カウントします。任意の要素の周波数が1より大きい場合、カウントをインクリメントします。最後にカウントを返します。
擬似コード:
dup = 0
pos = []
for i from 0 to arr.len -1 do
for c from i + 1 to arr.len -1 do
if pos.has(c) then
break
fi
if i == c then
dup++
pos.add(c)
fi
end
end
残りはあなた次第です。多くの最適化を行うこともできます。
いくつかのJavaコードを書き込もうとします –
ハッシュマップを使用して、ハッシュマップに値を数として保存してみてください –