このガイドでは、2つのアレイリストを比較するためのいくつかのJavaメソッドを調査します。 比較を成功させるには、両方のリストが同じサイズを持ち、同一の要素を含む必要があります。 Javaの配列を比較するための
メソッド
Javaの配列を比較するには、いくつかのアプローチが存在します:
equals()
removeAll()
retainAll()
contains()
contentEquals()
例示的な例
例で説明しましょう:
例1: method equals()
を使用しています
import java.util.*; public class ArrayListComparison { public static void main(String[] args) { ArrayList<Integer> list1 = new ArrayList<>(Arrays.asList(1, 2, 3, 4)); ArrayList<Integer> list2 = new ArrayList<>(Arrays.asList(1, 2, 3, 4)); ArrayList<Integer> list3 = new ArrayList<>(Arrays.asList(4, 3, 2, 1)); System.out.println("list1 equals list2: " + list1.equals(list2)); // true System.out.println("list1 equals list3: " + list1.equals(list3)); // false (order matters) } }
および removeAll()
retainAll()
を使用して違いを識別します
は一般的な要素のみを保持します。 これらの方法は、違いを強調するのに役立ちます
removeAll()
retainAll()
import java.util.*; public class ArrayListDifference { public static void main(String[] args) { ArrayList<String> list1 = new ArrayList<>(Arrays.asList("apple", "banana", "orange")); ArrayList<String> list2 = new ArrayList<>(Arrays.asList("banana", "grape", "orange")); ArrayList<String> diff1 = new ArrayList<>(list1); diff1.removeAll(list2); // Elements in list1 but not in list2 System.out.println("Elements only in list1: " + diff1); // [apple] ArrayList<String> common = new ArrayList<>(list1); common.retainAll(list2); // Common elements System.out.println("Common elements: " + common); // [banana, orange] } }
より複雑なシナリオまたはカスタム比較ロジックについては、ストリームは柔軟性を提供します。 ArrayListsを比較するためのアルゴリズム
アルゴリズム
import java.util.*; import java.util.stream.Collectors; public class ArrayListStreamComparison { public static void main(String[] args) { ArrayList<Integer> list1 = new ArrayList<>(Arrays.asList(1, 2, 3, 4)); ArrayList<Integer> list2 = new ArrayList<>(Arrays.asList(1, 2, 3, 4)); boolean isEqual = list1.stream().allMatch(list2::contains); System.out.println("Lists are equal (using streams): " + isEqual); //true //Find elements present in list1 but not in list2 List<Integer> diff = list1.stream().filter(i -> !list2.contains(i)).collect(Collectors.toList()); System.out.println("Difference: " + diff); // [] } }
サイズを確認します:
両方のアレイリストのサイズが同じかどうかを確認します。そうでない場合、それらは不平等です。contains()
equals()
を返します
true
false
複数の方法がJavaでのアレイリストの比較を容易にし、それぞれに強みがあります。 は違いを強調しています。 ストリームは、より複雑な比較ニーズのために柔軟性を提供します。 特定の要件と複雑さに最適なアプローチを選択してください。
以上がJavaの2つのArrayListを比較しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。