
リスト コレクション内の重複値を処理するには、ほとんどの場合、2 つの方法が使用されます。1 つは、リスト コレクションを走査して別のリスト コレクションに割り当てる方法で、もう 1 つはセットコレクションに割り当てられ、リストコレクションに返されます。さまざまな方法には、さまざまな状況で独自の利点があります。
関連する無料ビデオ チュートリアルの推奨事項: java 無料ビデオ チュートリアル
コードは次のとおりです:
//set集合去重,不打乱顺序
public static void main(String[] args){
List<String> list = new ArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("aaa");
list.add("aba");
list.add("aaa");
Set set = new HashSet();
List newList = new ArrayList();
for (String cd:list) {
if(set.add(cd)){
newList.add(cd);
}
}
System.out.println( "去重后的集合: " + newList);
} //遍历后判断赋给另一个list集合
public static void main(String[] args){
List<String> list = new ArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("aaa");
list.add("aba");
list.add("aaa");
List<String> newList = new ArrayList<String>();
for (String cd:list) {
if(!newList.contains(cd)){
newList.add(cd);
}
}
System.out.println( "去重后的集合: " + newList);
} //set去重
public static void main(String[] args){
List<String> list = new ArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("aaa");
list.add("aba");
list.add("aaa");
Set set = new HashSet();
List newList = new ArrayList();
set.addAll(list);
newList.addAll(set);
System.out.println( "去重后的集合: " + newList);
} //set去重(缩减为一行)
public static void main(String[] args){
List<String> list = new ArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("aaa");
list.add("aba");
list.add("aaa");
List newList = new ArrayList(new HashSet(list));
System.out.println( "去重后的集合: " + newList);
}hashset はソートされません。別の方法は次のとおりです。 treeset を使用するには、重複を削除して自然な順序に配置し、ハッシュセットをtreesetに変更するだけです。 (元の順序は変更されており、アルファベット順に並べられています)
//去重并且按照自然顺序排列 List newList = new ArrayList(new TreeSet(list));
さらに関連する記事とチュートリアルをお勧めします: Java ゼロベースの入門
以上がJavaのリストコレクション内の要素の重複を防ぐ方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。