$show=/label

How to compare two ArrayList for equality in Java 8? ArrayList equals() or containsAll() methods works?

SHARE:

A quick program to compare the two list values inside the lists. This equality check is done using the ArrayList equals() method and containsAll() method. Java 8 Stream API Example as well.

1. Introduction


In this article, We'll learn how to compare two ArrayLists for checking equality.

ArrayList has an equal() method that takes one argument type of Object. This equals() method compares the passed list object with the current list object. If both lists are having same values then it returns true, otherwise false. equals() and containsAll() method both are part of ArrayList class. ContainsAll() method also works similar way and produces the same result. These two methods may throw runtime exceptions such as ClassCastException, NullPointerException.

Read more on how to compare two strings lexicographically.

Example programs are shown on equals(), containsAll() and java 8 Stream API.

How to compare two ArrayList for equality in Java 8? ArrayList equals() or containsAll() methods works?




2. Two List Equality Comparision Example


An example program to check all values in two lists are the same or not. If even anyone's value is different anyone list will return false as a result.

java compare two lists of objects:

package com.java.w3schools.blog.arraylist;

import java.util.ArrayList;
import java.util.List;

/**
 * 
 * Example compare two ArrayList for equality in Java.
 * 
 * @author javaprogramto.com
 *
 */
public class TwoArrayListEqualityExample {

 public static void main(String[] args) {

  // list 1
  List<String> listOne = new ArrayList<String>();
  listOne.add("super");
  listOne.add("this");
  listOne.add("overlaoding");
  listOne.add("overriding");

  // list 2
  List<String> listTwo = new ArrayList<String>();
  listTwo.add("super");
  listTwo.add("this");
  listTwo.add("overlaoding");
  listTwo.add("overriding");

  // comparing two lists
  boolean isEqual = listOne.equals(listTwo);
  System.out.println(isEqual);
  
 }

}

Output:

true

3. Java compare two lists of objects using containsAll() method


Java ArrayList containsAll() method example to compare two lists are equal or not.

public class TwoArrayListEqualityExample {

 public static void main(String[] args) {

  // list 1
  List<String> listA = new ArrayList<String>();
  listA.add("double");
  listA.add("int");
  listA.add("float");
  listA.add("linkedlist");

  // list 2
  List<String> listB = new ArrayList<String>();
  listB.add("super");
  listB.add("this");
  listB.add("overlaoding");
  listB.add("overriding");

  // comparing two lists
  boolean isEqualAllValues = listA.containsAll(listB);
  System.out.println(isEqualAllValues);
  
 }

}

Output:

false


Because the second list listB is having all different values when compared to listA.

Now change the values of listB as in listA.

// list 2
List<String> listB = new ArrayList<String>();
listB.add("double");
listB.add("int");
listB.add("float");
listB.add("linkedlist");

// comparing two lists
boolean isEqualAllValues = listA.containsAll(listB);
System.out.println(isEqualAllValues);


Output:

true

4. Using Java 8 Stream API


Now, it is time to write the same logic using java 8 stream api. Stream API is very powerful but in this case, it is good to use either equals() or containsAll() method which is more comfortable to use for programmers.

public class TwoArrayListEqualityExampleInJava8 {

 public static void main(String[] args) {

  // list 1
  List<String> list1 = new ArrayList<String>();
  list1.add("compare");
  list1.add("two");
  list1.add("lists");
  list1.add("in java 8");

  // list 2
  List<String> list2 = new ArrayList<String>();
  list2.add("compare");
  list2.add("two");
  list2.add("lists");
  list2.add("in java 8");

  List<String> unavailable = list1.stream().filter(e -> (list2.stream().filter(d -> d.equals(e)).count()) < 1)
    .collect(Collectors.toList());

  if (unavailable.size() == 0) {
   System.out.println("list1 and list2 all values same.");
  } else {
   System.out.println("list1 and list2 all values are not  same.");
  }

  list1.add("new value added");

  unavailable = list1.stream().filter(e -> (list2.stream().filter(d -> d.equals(e)).count()) < 1)
    .collect(Collectors.toList());

  if (unavailable.size() > 0) {
   System.out.println("list1 is modifed. so both lists are having different values");
  }

 }

}

Output:

list1 and list2 all values same.
list1 is modifed. so both lists are having different values

5. Conclusion


In this article, We've seen


how to compare two lists in java using equals() and containsAll() method. These two methods take List as an argument and compare each and every object are same in each list. equals() method is overridden in ArrayList class.

Find unmatched values from Two lists

GitHub code 1

GitHub code 2

GitHub Code 3

Ref

COMMENTS

BLOGGER

About Us

Author: Venkatesh - I love to learn and share the technical stuff.
Name

accumulo,1,ActiveMQ,2,Adsense,1,API,31,ArrayList,16,Arrays,3,Bean Creation,3,Bean Scopes,1,BiConsumer,1,Blogger Tips,1,Books,1,C Programming,1,Collection,4,Collections,21,Collector,1,Command Line,1,Compile Errors,1,Configurations,7,Constants,1,Control Statements,8,Conversions,5,Core Java,74,Corona India,1,Create,2,CSS,1,Date,2,Date Time API,3,Dictionary,1,Difference,1,Download,1,Eclipse,2,Efficiently,1,Error,1,Errors,1,Exception,1,Exceptions,3,Fast,1,Files,9,Float,1,Font,1,For examples,1,For loop examples,1,For Loop in Java,1,Form,1,Freshers,1,Function,3,Functional Interface,2,Garbage Collector,1,Generics,4,Git,4,Grant,1,Grep,1,HashMap,1,HomeBrew,2,HTML,2,HttpClient,2,Immutable,1,Inner for loops,1,Installation,1,Interview Questions,5,Iterate,2,Jackson API,3,Java,28,Java 10,1,Java 11,5,Java 12,5,Java 13,2,Java 14,2,java 5 For loop,1,Java 8,50,Java 9,1,Java Design Patterns,1,Java Files,1,Java for loop,1,Java Program,2,Java Programs,65,java.lang,5,java.util. function,1,jQuery,1,Kotlin,10,Kotlin Programs,6,Lambda,1,lang,29,Leap Year,1,live updates,1,Mac OS,2,Math,1,Maven,1,Method References,1,Mockito,1,MongoDB,3,Nested for loop,1,Nested for loop examples,1,New Features,1,Operations,1,Optional,4,Oracle,5,Oracle 18C,1,Partition,1,Patterns,1,Programs,1,Property,1,Python,2,Quarkus,1,Read,1,Real Time,1,Recursion,2,Remove,2,Rest API,1,Schedules,1,Serialization,1,Servlet,1,Sorting Techniques,8,Spring,2,Spring Boot,23,Spring Email,1,Spring MVC,1,Stream,3,Streams,12,String,48,String Programs,8,String Revese,1,Swing,1,System,1,Tags,1,Threads,9,Tomcat,1,Tomcat 8,1,Troubleshoot,16,Unix,2,Updates,3,util,5,While Loop,1,
ltr
item
JavaProgramTo.com: How to compare two ArrayList for equality in Java 8? ArrayList equals() or containsAll() methods works?
How to compare two ArrayList for equality in Java 8? ArrayList equals() or containsAll() methods works?
A quick program to compare the two list values inside the lists. This equality check is done using the ArrayList equals() method and containsAll() method. Java 8 Stream API Example as well.
https://1.bp.blogspot.com/-1IDJYgN7t0Q/XoSCDfururI/AAAAAAAACa4/Z1FpGht3rKEf-U02dQ_5WRcAGA-bSVd9gCLcBGAsYHQ/s640/How%2Bto%2Bcompare%2Btwo%2BArrayList%2Bfor%2Bequality%2Bin%2BJava%2B8%253F%2BArrayList%2Bequals%2528%2529%2Bor%2BcontainsAll%2528%2529%2Bmethods%2Bworks%253F.png
https://1.bp.blogspot.com/-1IDJYgN7t0Q/XoSCDfururI/AAAAAAAACa4/Z1FpGht3rKEf-U02dQ_5WRcAGA-bSVd9gCLcBGAsYHQ/s72-c/How%2Bto%2Bcompare%2Btwo%2BArrayList%2Bfor%2Bequality%2Bin%2BJava%2B8%253F%2BArrayList%2Bequals%2528%2529%2Bor%2BcontainsAll%2528%2529%2Bmethods%2Bworks%253F.png
JavaProgramTo.com
https://www.javaprogramto.com/2020/04/how-to-compare-two-arraylist-for-equality-in-java.html
https://www.javaprogramto.com/
https://www.javaprogramto.com/
https://www.javaprogramto.com/2020/04/how-to-compare-two-arraylist-for-equality-in-java.html
true
3124782013468838591
UTF-8
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content