ホームページ  >  記事  >  Java  >  Java を使用して 2 つの文字列リストから共通要素と固有要素を効率的に見つけるにはどうすればよいですか?

Java を使用して 2 つの文字列リストから共通要素と固有要素を効率的に見つけるにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-27 09:16:11107ブラウズ

How to Efficiently Find Common and Unique Elements in Two String Lists Using Java?

2 つのリストの比較

文字列の 2 つのリストが与えられた場合、目的は、共通要素の数を判断し、共有要素と固有要素の両方を識別することです。考えられるアプローチの 1 つは、Java の ArrayList クラスと HashSet クラスを活用することです。

ArrayList の使用:

ArrayList クラスには、retainAll という便利なメソッドが用意されています。別のコレクションを使用して呼び出された場合、引数コレクションに存在しない要素が呼び出しリストから削除されます。これは、共通の要素を識別するために利用できます。

import java.util.ArrayList;

ArrayList<String> list1 = new ArrayList<>();
list1.add("milan");
list1.add("dingo");
list1.add("elpha");
list1.add("hafil");
list1.add("meat");
list1.add("iga");
list1.add("neeta.peeta");

ArrayList<String> list2 = new ArrayList<>();
list2.add("hafil");
list2.add("iga");
list2.add("binga");
list2.add("mike");
list2.add("dingo");

list1.retainAll(list2);
System.out.println("Common elements: " + list1);

HashSet の使用:

ArrayList と同様に、HashSet クラスを使用して重複を排除できます。 addAll メソッドとremoveAll メソッドを利用すると、共通要素と固有要素の両方を計算できます。

import java.util.HashSet;

HashSet<String> set1 = new HashSet<>(list1);
HashSet<String> set2 = new HashSet<>(list2);

// Common elements
HashSet<String> common = new HashSet<>(set1);
common.retainAll(set2);
System.out.println("Common elements: " + common);

// Unique elements
HashSet<String> unique = new HashSet<>();
unique.addAll(set1);
unique.addAll(set2);
unique.removeAll(common);
System.out.println("Unique elements: " + unique);

これらのアプローチは、リストを比較して必要な情報を抽出する効率的な方法を提供します。特定の要件に合わせてコードを自由にカスタマイズしてください。

以上がJava を使用して 2 つの文字列リストから共通要素と固有要素を効率的に見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。