$show=/label

Java - Converting between List and Set (6 ways)

SHARE:

A quick guide to convert List to Set and Set to List in java versions and other third party api's in 6 different ways

1. Overview

In this article, We'll learn how to convert between List and Set objects. First, start with the basic java API methods, JDK 8 and above.

Finally, we'll learn how to convert List to Set and Set to List using Guava and apache commons API's.

In the previous article, we have discussed the conversion between List and Map objects.

Java - Converting between List and Set (6 ways)



2. Java - Convert List to Set


Converting List to Set can be done in many ways. let us start with the simple plain java and then next other ways.

All 6 ways are shown in the below single example.

A) Using Set.addAll() method
B) Using HashSet constructor
C) Java 8 Stream api
D) Java 10 api - Set.copyof()
E) Guava api
F) Apache commons

Example 1

package com.javaprogramto.convert.listset;

import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;

import org.apache.commons.collections4.CollectionUtils;

import com.google.common.collect.Sets;

public class ConvertListToSetExamples {

	public static void main(String[] args) {

		// List creation
		List<String> vowels = Arrays.asList("A", "E", "I", "O", "U");
		System.out.println("Original list values - " + vowels);

		// Way - 1 Using Set.addAll()
		Set<String> set1 = new HashSet<>();
		set1.addAll(vowels);

		System.out.println("set1 using set.addAll - " + set1);

		// Way - 2 Using Set constructor
		Set<String> set2 = new HashSet<>(vowels);

		System.out.println("set2 using set constructor - " + set2);

		// Way - 3 Using Java 8 stream api
		Set<String> set3 = vowels.stream().collect(Collectors.toCollection(HashSet::new));

		System.out.println("set3 using java 8 api - " + set3);

		// Way - 4 Using Java 10 api
		Set<String> set4 = Set.copyOf(vowels);

		System.out.println("set4 using java 10 api - " + set4);

		// Way - 5 Using guava api
		Set<String> set5 = Sets.newHashSet(vowels);

		System.out.println("set5 using guava api - " + set5);

		// Way - 6 Using apache commons api
		Set<String> set6 = new HashSet<>();
		CollectionUtils.addAll(set6, vowels);

		System.out.println("set5 using apache commons  api - " + set6);
	}
}

Output
Original list values - [A, E, I, O, U]
set1 using set.addAll - [A, E, U, I, O]
set2 using set constructor - [A, E, U, I, O]
set3 using java 8 api - [A, E, U, I, O]
set4 using java 10 api - [A, U, E, O, I]
set5 using guava api - [A, E, U, I, O]
set5 using apache commons  api - [A, E, U, I, O]
We could see the same values for all set instances generated by various ways.

3. Java - Convert Set to List


Next, we will see the different examples to convert a set of integers to a list of integers in 6 ways.

The below examples have used the following methods

A) Using List.addAll() method
B) Using ArrayList constructor
C) Java 8 Stream api
D) Java 10 api - List.copyof()
E) Guava api
F) Apache commons

Example 2

package com.javaprogramto.convert.listset;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;

import org.apache.commons.collections4.CollectionUtils;

import com.google.common.collect.Lists;
import com.google.common.collect.Sets;

public class ConvertSetToListExamples {

	public static void main(String[] args) {

		// Set creation
		Set<Integer> numbers = new HashSet<>();
		numbers.add(10);
		numbers.add(20);
		numbers.add(30);
		numbers.add(40);
		numbers.add(50);

		System.out.println("Original set values - " + numbers);

		// Way - 1 Using List.addAll()
		List<Integer> list1 = new ArrayList<>();
		list1.addAll(numbers);

		System.out.println("list1 using list.addAll - " + list1);

		// Way - 2 Using List constructor
		List<Integer> list2 = new ArrayList<>(numbers);

		System.out.println("list2 using set constructor - " + list2);

		// Way - 3 Using Java 8 stream api
		List<Integer> list3 = numbers.stream().collect(Collectors.toList());

		System.out.println("list3 using java 8 api - " + list3);

		// Way - 4 Using Java 10 api
		List<Integer> list4 = List.copyOf(numbers);

		System.out.println("list4 using java 10 api - " + list4);

		// Way - 5 Using guava api
		List<Integer> list5 = Lists.newArrayList(numbers);

		System.out.println("list5 using guava api - " + list5);

		// Way - 6 Using apache commons api
		List<Integer> list6 = new ArrayList<>();
		CollectionUtils.addAll(list6, numbers);

		System.out.println("list6 using apache commons  api - " + list6);
	}
}

Output

Original set values - [50, 20, 40, 10, 30]
list1 using list.addAll - [50, 20, 40, 10, 30]
list2 using set constructor - [50, 20, 40, 10, 30]
list3 using java 8 api - [50, 20, 40, 10, 30]
list4 using java 10 api - [50, 20, 40, 10, 30]
list5 using guava api - [50, 20, 40, 10, 30]
list6 using apache commons  api - [50, 20, 40, 10, 30]

4. Conclusion


In this article, we've seen how conversion can be done between List and Set objects in java.

Examples are simplified to show in the single program for better comparing each methodology.



HashSet Examples

COMMENTS

BLOGGER

About Us

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

accumulo,1,ActiveMQ,2,Adsense,1,API,37,ArrayList,18,Arrays,24,Bean Creation,3,Bean Scopes,1,BiConsumer,1,Blogger Tips,1,Books,1,C Programming,1,Collection,8,Collections,37,Collector,1,Command Line,1,Comparator,1,Compile Errors,1,Configurations,7,Constants,1,Control Statements,8,Conversions,6,Core Java,149,Corona India,1,Create,2,CSS,1,Date,3,Date Time API,38,Dictionary,1,Difference,2,Download,1,Eclipse,3,Efficiently,1,Error,1,Errors,1,Exceptions,8,Fast,1,Files,17,Float,1,Font,1,Form,1,Freshers,1,Function,3,Functional Interface,2,Garbage Collector,1,Generics,4,Git,9,Grant,1,Grep,1,HashMap,2,HomeBrew,2,HTML,2,HttpClient,2,Immutable,1,Installation,1,Interview Questions,6,Iterate,2,Jackson API,3,Java,32,Java 10,1,Java 11,6,Java 12,5,Java 13,2,Java 14,2,Java 8,128,Java 8 Difference,2,Java 8 Stream Conversions,4,java 8 Stream Examples,12,Java 9,1,Java Conversions,14,Java Design Patterns,1,Java Files,1,Java Program,3,Java Programs,114,Java Spark,1,java.lang,4,java.util. function,1,JavaScript,1,jQuery,1,Kotlin,11,Kotlin Conversions,6,Kotlin Programs,10,Lambda,2,lang,29,Leap Year,1,live updates,1,LocalDate,1,Logging,1,Mac OS,3,Math,1,Matrix,6,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,2,Sort,1,Sorting Techniques,8,Spring,2,Spring Boot,23,Spring Email,1,Spring MVC,1,Streams,31,String,61,String Programs,28,String Revese,1,StringBuilder,1,Swing,1,System,1,Tags,1,Threads,11,Tomcat,1,Tomcat 8,1,Troubleshoot,26,Unix,3,Updates,3,util,5,While Loop,1,
ltr
item
JavaProgramTo.com: Java - Converting between List and Set (6 ways)
Java - Converting between List and Set (6 ways)
A quick guide to convert List to Set and Set to List in java versions and other third party api's in 6 different ways
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVYlHERsX-vaDIBdHK5ldXjiBdfHgdrpjNFA3W7ZzhDp8M6W144blDto8RLVljcePHHOAcKyh378xIS-B1IemR1X1MHl8MyPUw-1zsINSzH-Gyg61cqc_peDHAJYodN7DDa3P9SfUL4Ms/w640-h434/Java+-+Converting+between+List+and+Set+%25286+ways%2529.png
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVYlHERsX-vaDIBdHK5ldXjiBdfHgdrpjNFA3W7ZzhDp8M6W144blDto8RLVljcePHHOAcKyh378xIS-B1IemR1X1MHl8MyPUw-1zsINSzH-Gyg61cqc_peDHAJYodN7DDa3P9SfUL4Ms/s72-w640-c-h434/Java+-+Converting+between+List+and+Set+%25286+ways%2529.png
JavaProgramTo.com
https://www.javaprogramto.com/2021/11/java-list-to-set-and-set-to-list.html
https://www.javaprogramto.com/
https://www.javaprogramto.com/
https://www.javaprogramto.com/2021/11/java-list-to-set-and-set-to-list.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