値が重複しているリストがあります。
List<valFile> isList = valBo.findId();
isList には {100, 100, 100, 102, 105, 105} のような値があります
これらの重複を削除し、重複のない同じリストを使用したいと考えています。セットを試しましたが、同じリストを重複せずに使用する方法がわかりません。
値が重複しているリストがあります。
List<valFile> isList = valBo.findId();
isList には {100, 100, 100, 102, 105, 105} のような値があります
これらの重複を削除し、重複のない同じリストを使用したいと考えています。セットを試しましたが、同じリストを重複せずに使用する方法がわかりません。
を作成しLinkedHashSet
て順序を維持し、リストからすべての項目を追加します。重複は破棄されます。
Set<valFile> set = new LinkedHashSet<valFile>(isList);
次に、それをリストに追加します。
List<valFile> listWithoutDuplicates = new ArrayList<valFile>(set);
セットを使用して、リストにダンプします。
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);