ホームページ >Java >&#&チュートリアル >Java で ArrayList の共通部分と和集合を効率的に見つけるにはどうすればよいですか?
Java での ArrayList の交差と結合の検索
ArrayList を使用する場合、多くの場合、2 つまたはすべての配列の交差または結合を見つけることが必要になります。さらに多くのリスト。これは、ファイルのフィルタリングや複数のソースからのデータの結合などのタスクに役立ちます。
Intersection メソッドと Union メソッド
Java には、ArrayList で Intersection および Union を実行するためのメソッドがいくつか用意されています。 :
これらのメソッドは元の ArrayList を変更しますが、これはすべての場合に望ましいとは限りません。あるいは、元のリストを変更せずに独自のメソッドを実装して、交差と共用体を処理することもできます。
public static <T> List<T> intersection(List<T> list1, List<T> list2) { List<T> list = new ArrayList<>(); for (T t : list1) { if (list2.contains(t)) { list.add(t); } } return list; } public static <T> List<T> union(List<T> list1, List<T> list2) { Set<T> set = new HashSet<>(); set.addAll(list1); set.addAll(list2); return new ArrayList<>(set); }
代替データ構造
ArrayList は変更可能なデータ構造です。これにより要素の重複が許可されます。セット操作の場合は、別のデータ構造を使用することを検討できます。
タスクに適切なデータ構造を選択することで、コードの実行時間とメモリ使用量を最適化できます。
以上がJava で ArrayList の共通部分と和集合を効率的に見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。