0

値が重複しているリストがあります。

List<valFile> isList = valBo.findId();

isList には {100, 100, 100, 102, 105, 105} のような値があります

これらの重複を削除し、重複のない同じリストを使用したいと考えています。セットを試しましたが、同じリストを重複せずに使用する方法がわかりません。

4

2 に答える 2

1

を作成しLinkedHashSetて順序を維持し、リストからすべての項目を追加します。重複は破棄されます。

Set<valFile> set = new LinkedHashSet<valFile>(isList);

次に、それをリストに追加します。

List<valFile> listWithoutDuplicates = new ArrayList<valFile>(set);
于 2013-02-26T21:23:09.027 に答える
1

セットを使用して、リストにダンプします。

List<valFile> unique = new ArrayList<valFile>(new HashSet<valFile>(islist));
Collections.sort(unique);

または、優れたコンパレータがある場合は、TreeSet を使用できます

Set<valFile> unique = new TreeSet<valFile>(isList);

絶対に同じリストを使用する必要がある場合 (おそらくどこかに他の参照があるため)、最善の策はそれをクリアすることです。

List<valFile> unique = new ArrayList<valFile>(new HashSet<valFile>(islist));
Collections.sort(unique);
isList.clear();
isList.addAll(unique);
于 2013-02-26T21:23:23.637 に答える