Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaは2つのリストを比較します

JavaのListインターフェースは、2つのリストを比較し、リストから一般的なアイテムと欠落しているアイテムを見つけることができるメソッドを提供します。

2つの並べ替えられていないリストを比較して同等性を確認します

2つのリストが等しいこと、つまり同じアイテムが含まれ、同じインデックスに表示されることを確認する場合は、次を使用できます。

import java.util.Arrays;
import java.util.List;

public class CompareTwoLists {

    public static void main(String[] args) {
        List<String> listOne = Arrays.asList("a", "b", "c");
        List<String> listTwo = Arrays.asList("a", "b", "c");
        List<String> listThree = Arrays.asList("c", "a", "b");

        boolean isEqual = listOne.equals(listTwo);
        System.out.println(isEqual);

        isEqual = listOne.equals(listThree);
        System.out.println(isEqual);
    }
}

出力:

true
false

ご覧のとおり、equals() メソッドは、アイテムとリスト内のそれらの場所を比較します。

関連:

  • JavaでArrayListをループする方法
  • リストから重複を削除する方法
  • Javaでリストを配列に変換する方法

2つのソートされたリストを比較する

2つのリストに同じアイテムが含まれていますか?

場所に関係なく、アイテムに関して2つのリストが等しいかどうかを比較するには、sort()を使用する必要があります。 Collections()のメソッド クラス。

例:

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class CompareTwoLists {

    public static void main(String[] args) {
        List<String> listOne = Arrays.asList("b", "c", "a");
        List<String> listTwo = Arrays.asList("a", "c", "b");
        List<String> listThree = Arrays.asList("c", "a", "b");

        Collections.sort(listOne);
        Collections.sort(listTwo);
        Collections.sort(listThree);

        boolean isEqual = listOne.equals(listTwo);
        System.out.println(isEqual);

        isEqual = listOne.equals(listThree);
        System.out.println(isEqual);
    }
}

出力:

true
true

2つのリストを比較し、違いを見つけます

List インターフェイスは、2つのリストの違いを見つけるためのメソッドも提供します。

removeAll() メソッドは2つのリストを比較し、すべての一般的なアイテムを削除します。残っているのは、追加または不足しているアイテムです。

たとえば、2つのリストを比較する場合、listOne およびlistTwo listTwoから欠落しているアイテムを調べたい 使用するもの:

import java.util.ArrayList;
import java.util.Arrays;

public class CompareTwoArrayLists {

    public static void main(String[] args) {
        ArrayList<Integer> listOne = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));

        ArrayList<Integer> listTwo = new ArrayList<>(Arrays.asList(1, 2, 4, 5, 6, 7));

        listOne.removeAll(listTwo);

        System.out.println("Missing items from listTwo " + listOne);
    }
}

出力:

Missing items from listTwo [3]

同様に、使用した場合:

listTwo.removeAll(listOne);

System.out.println("Missing items from listOne " + listTwo);

次のようになります:

Missing items from listOne [6, 7]

2つのリストを比較し、共通のアイテムを見つけます

retainAll() メソッドは、両方のリストに共通するアイテムのみを保持します。例:

public class CompareTwoArrayLists {

    public static void main(String[] args) {
        ArrayList<Integer> listOne = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));

        ArrayList<Integer> listTwo = new ArrayList<>(Arrays.asList(1, 2, 4, 5, 6, 7));

        listOne.retainAll(listTwo);

        System.out.println("Common items in both lists " + listOne);
    }
}

出力:

Common items in both lists [1, 2, 4, 5]

  1. Java OpenCVライブラリを使用して2つの画像を比較するにはどうすればよいですか?

    2つの画像を比較するには- Image.IO.read()を使用して両方を読み取ります メソッド。 両方の高さと幅を取得して、それらが等しいことを確認します。 ピクセル値を取得し、両方の画像のRGB値を取得します。 これら2つの画像のRGB値の差の合計を取得します。 次の式を使用して差のパーセンテージを計算します- Average = difference/weight*height*3; Percentage = (Average/255)*100; 例 import java.awt.Color; import java.awt.image.Buff

  2. Excel で 2 つの列またはリストを比較する方法 (4 つの適切な方法)

    Excel でさまざまなタスクを実行しているときに、2 つまたは複数の列の一致と相違が必要な状況に遭遇することがよくあります。 Excel で 2 つの列またはリストを比較するのは難しいことではありませんが、方法がたくさんあるので混乱するかもしれません。この記事では、Excel で列を一致させて区別するためのさまざまな手法を探します。 Excel で 2 つの列またはリストを比較する 4 つの方法 2 つの列のデータセットがあります。その列には、スーパー ショップの 2 つのショールームの商品名が含まれています。この 2 つのショールームのデータを比較します。 1.等号演算子を使用して