Skip to content

Latest commit

 

History

History
57 lines (45 loc) · 2.07 KB

File metadata and controls

57 lines (45 loc) · 2.07 KB

如何在 Java 中比较两个ArrayList

原文: https://beginnersbook.com/2013/12/how-to-compare-two-arraylist-in-java/

在本教程中,我们将学习如何比较两个ArrayList。我们将使用contains()方法来比较不同ArrayList的两个元素。

public boolean contains(Object o) 如果列表包含Object,则返回true,否则返回false

示例:

在这个例子中,我们有两个String类型的ArrayListal1al2。我们使用contains()方法比较了这些ArrayList,并将比较结果存储在第三个ArrayListal3al4)中。

package beginnersbook.com;
import java.util.ArrayList;
public class Details
{
     public static void main(String [] args)
     {
          ArrayList<String> al1= new ArrayList<String>();
          al1.add("hi");
          al1.add("How are you");
          al1.add("Good Morning");
          al1.add("bye");
          al1.add("Good night");

          ArrayList<String> al2= new ArrayList<String>();
          al2.add("Howdy");
          al2.add("Good Evening");
          al2.add("bye");
          al2.add("Good night");

          //Storing the comparison output in ArrayList<String>
          ArrayList<String> al3= new ArrayList<String>();
          for (String temp : al1)
              al3.add(al2.contains(temp) ? "Yes" : "No");
          System.out.println(al3);

          //Storing the comparison output in ArrayList<Integer>
          ArrayList<Integer> al4= new ArrayList<Integer>();
          for (String temp2 : al1)
               al4.add(al2.contains(temp2) ? 1 : 0);
          System.out.println(al4);
     }
}

输出:

[No, No, No, Yes, Yes]
[0, 0, 0, 1, 1]

上面代码中的逻辑是什么? 如果al2中存在ArrayList al1的第一个元素,那么ArrayList``al3将具有"Yes"al4将具有 1 但是如果该元素不存在则将在al3中存储"No",在al4中存储 0。