Find Unique and Duplicates Values From Two Lists


Java program to find out unique and duplicates values as separate list from two lists (ArrayList).

1. Overview

In this tutorial, We'll learn how to find the unique values from two lists and how to find all common or duplicates values from two lists.

We'll demonstrate using two ArrayList's to find out unique and duplicates objects in it.

To achieve our requirement, we must compare values in both list. Either we can run the loop through each list or we can use list api built in methods. We'll explore using built in api methods such as contains(), retailAll() and removeAll() methods.

Find Unique and Duplicates From Two Lists

Consider input two lists.

List 1:

List winterFruits = new ArrayList<>();

List 2:

List summerFruits = new ArrayList<>();

2. Duplicate

2.1 contains() method

contains(Object o) method is present in Java.util.List package.

This method returns true if the passed object is present in the list and otherwise it returns false. This method checks for the occurrence. If any passed value or object appears more then once then it will check for the first appearance. It won't check for all occurrences.

By using this method we can find both duplicate and unique elements from two lists.

List duplicateList = new ArrayList<>();
for (String fruitName : winterFruits) {
 if (summerFruits.contains(fruitName)) {


duplicateList: [Plums, Grapefruit]

2.2 retainAll method

retainAll(Collection<?> c): This method takes another list as argument. We call passed list as specified list. retainAll method keeps the values which are present in the specified and remaining values will be deleted from the current list.


Once retainAll method is invoked than it will check what values of summerFruits are present in winterFruits list then Keep these values untouched and removes non-equal values from winterFruits list.


winterFruits: [Plums, Grapefruit]

3. Unique

3.1 Set

Set interface does not allow duplicate values adding to it. So First we add summerFruits to winterFruits then now winterFruits is having all the values of winterFruits and summerFruits.


Next, convert winterFruits to set.

Set uniqueValues = new HashSet<>(winterFruits);


uniqueValues [Clementine, Plums, Dates, Grapefruit, Kiwi, Mango, Watermelon, Papaya]

3.2 removeAll

removeAll(Collection<?> c): Removes from this list all of its values that are present in the specified collection.

In simple workds, Taking out duplicate values out from two lists and adding these two list into one list(winterFruits). Finally adding back the duplicate elements back to winterFruits list.

List copyOfWinterFruits = new ArrayList<>(winterFruits);




Unique List [Clementine, Dates, Kiwi, Mango, Watermelon, Papaya, Plums, Grapefruit]

Full code on GitHub

4. Custom Objects

What happens if Student or CheckOut objects are present in the list then how to find out the duplicates based on combination of id and name of student or on any condition.

In these type of sceraios, We must do the following.

A. Override equals() method in Student class if using contains() method or List methods.
B. Override both equals and hashcode methods in Student class in case of HashSet or HashMap.

5. Conclusion

In this article, We've seen how to find the duplicates values and unique values from two lists different ways.

Full programs are available on GitHub.



About Us

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

accumulo,1,ActiveMQ,2,Adsense,1,API,37,ArrayList,16,Arrays,7,Bean Creation,3,Bean Scopes,1,BiConsumer,1,Blogger Tips,1,Books,1,C Programming,1,Collection,5,Collections,22,Collector,1,Command Line,1,Compile Errors,1,Configurations,7,Constants,1,Control Statements,8,Conversions,6,Core Java,81,Corona India,1,Create,2,CSS,1,Date,3,Date Time API,4,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,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,Installation,1,Interview Questions,5,Iterate,2,Jackson API,3,Java,29,Java 10,1,Java 11,5,Java 12,5,Java 13,2,Java 14,2,Java 8,66,Java 8 Difference,2,Java 8 Stream Conversions,2,java 8 Stream Examples,3,Java 9,1,Java Conversions,11,Java Design Patterns,1,Java Files,1,Java Program,2,Java Programs,65,java.lang,5,java.util. function,1,jQuery,1,Kotlin,10,Kotlin Conversions,3,Kotlin Programs,6,Lambda,1,lang,29,Leap Year,1,live updates,1,Logging,1,Mac OS,2,Math,1,Maven,1,Method References,1,Mockito,1,MongoDB,3,New Features,1,Operations,1,Optional,6,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,Sort,1,Sorting Techniques,8,Spring,2,Spring Boot,23,Spring Email,1,Spring MVC,1,Streams,21,String,58,String Programs,9,String Revese,1,Swing,1,System,1,Tags,1,Threads,10,Tomcat,1,Tomcat 8,1,Troubleshoot,16,Unix,2,Updates,3,util,5,While Loop,1,
JavaProgramTo.com: Find Unique and Duplicates Values From Two Lists
Find Unique and Duplicates Values From Two Lists
Java program to find out unique and duplicates values as separate list from two lists (ArrayList).
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