リスト コレクション内の重複値を処理するには、ほとんどの場合、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 サイトの他の関連記事を参照してください。