Home  >  Article  >  Java  >  Get unique values ​​from ArrayList in Java

Get unique values ​​from ArrayList in Java

WBOY
WBOYforward
2023-09-04 08:41:07696browse

Get unique values ​​from ArrayList in Java

ArrayList is a class of Java Collection Framework that implements List Interface. It is a linear structure that stores and accesses each element sequentially. It allows the storage of duplicate elements however, there are a few approaches that may help to get unique values ​​from an ArrayList. In this article, we are going to see the practical implementation One of the ways is through the Java sample program.

Java Program to get Unique Values ​​from ArrayList

Before jumping to the solution program for the given problem, let’s discuss the following The concept of Collection Interface−

HashSet

It is a class of the Java Collection interface and implements the set interface. it is similar to into mathematical collections. Among them, all elements are stored in a sorted manner to reduce the retrieval time and also, it doesn’t allow duplicate values. This is the reason for using HashSet to filter duplicates and to get unique values ​​from a list.

grammar

HashSet< Type >nameOfSet = new HashSet<>();

Here, Type is the wrapper class object, not a primitive datatype.

Syntax for ArrayList

ArrayList<Type> nameOflist = new ArrayList< Type >();

Approach 1

  • Create an ArrayList object of type Integer and store some elements to it by using a built-in method named ‘add()’. This method takes an argument and adds it to the specified list.

  • Now, create a HashSet of the same type and store all the contents of the previous element

  • Add the ArrayList to it using the built-in method 'addAll()'. This method accepts an ArrayList as an argument and adds all its elements to the new specified list.
  • Finally, print the value by calling the list.

Example

The following example demonstrates how to obtain unique values ​​from an ArrayList using the HashSet class.

import java.util.*;
public class Unique {
   public static void main(String[] args) {
      // Creating arraylist
      ArrayList<Integer> araylist = new ArrayList<Integer>();
      
      // Adding elements in arraylist
      araylist.add(8);
      araylist.add(5);
      araylist.add(2);
      araylist.add(9);
      araylist.add(2);
      araylist.add(4);
      araylist.add(9);
      araylist.add(7);
      System.out.println("List with duplicate elements: ");
      
      // loop to iterate through elements
      for(int i = 0; i < araylist.size(); i++ ) {
         // to print the elements in the list
         System.out.println(araylist.get(i));
      }
      HashSet<Integer> set = new HashSet<>(); // creating hashset
      set.addAll(araylist); // adding all elements to set
      System.out.println("List with unique elements: " + set);
   }
}     

Output

List with duplicate elements:
8
5
2
9
2
4
9
7
List with unique elements: [2, 4, 5, 7, 8, 9]

Approach 2

  • Create an ArrayList object of type Integer and store some elements to it by using a built-in method named ‘add()’. This method takes an argument and adds it to the specified list.

  • Now, create another ArrayList object of the same type.

  • Define a for loop that will iterate till the ArrayList size. Inside this loop, take an if A block of code that checks if the value at index 'i' is unique. if it is the only one The value is then added to the new ArrayList, otherwise it is discarded.

  • At the end, print the value by calling the list.

Example

This is another example in which we will try to get unique values ​​from an ArrayList.

import java.util.*;
public class Unique {
   public static void main(String[] args) {
      // Creating arraylist
      ArrayList<Integer> araylist1 = new ArrayList<Integer>();
      // Adding elements in arraylist
      araylist1.add(8);
      araylist1.add(5);
      araylist1.add(2);
      araylist1.add(9);
      araylist1.add(2);
      araylist1.add(4);
      araylist1.add(9);
      araylist1.add(7);
      System.out.println("List with duplicate elements: " + araylist1);
      ArrayList<Integer>araylist2 = new ArrayList<Integer>();
      for(int i = 0; i < araylist1.size(); i++ ) {
         int elem;
         // to filter the duplicate elements
         if(!araylist2.contains(araylist1.get(i))) {
            // storing unique elements to elem and adding to new list
            elem = araylist1.get(i);
            araylist2.add(elem);
         }
      }
      System.out.println("List with unique elements: " + araylist2);
   }
}

Output

List with duplicate elements: [8, 5, 2, 9, 2, 4, 9, 7]
List with unique elements: [8, 5, 2, 9, 4, 7]

Conclusion

We started this article by defining ArrayList and in the next section we understand the use of HashSet in finding unique values ​​from a list. We discussed two approaches to get unique values ​​from an ArrayList, first using the HashSet class and the second without using this The Chinese translation of class

is: class

The above is the detailed content of Get unique values ​​from ArrayList in Java. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:tutorialspoint.com. If there is any infringement, please contact admin@php.cn delete