多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 如何在 Java 中比较两个`ArrayList` > 原文: [https://beginnersbook.com/2013/12/how-to-compare-two-arraylist-in-java/](https://beginnersbook.com/2013/12/how-to-compare-two-arraylist-in-java/) 在本教程中,我们将学习如何比较两个`ArrayList`。我们将使用[`contains()`](https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html#contains(java.lang.Object))方法来比较不同`ArrayList`的两个元素。 `public boolean contains(Object o)` 如果列表包含`Object`,则返回`true`,否则返回`false`。 #### 示例: 在这个例子中,我们有两个`String`类型的`ArrayList`,`al1`和`al2`。我们使用`contains()`方法比较了这些`ArrayList`,并将比较结果存储在第三个`ArrayList`(`al3`和`al4`)中。 ```java 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); } } ``` 输出: ```java [No, No, No, Yes, Yes] [0, 0, 0, 1, 1] ``` 上面代码中的逻辑是什么? 如果`al2`中存在`ArrayList al1`的第一个元素,那么`ArrayList``al3`将具有`"Yes"`而`al4`将具有 1 但是如果该元素不存在则将在`al3`中存储`"No"`,在`al4`中存储 0。