All TalkersCode Topics

Follow TalkersCode On Social Media

devloprr.com - A Social Media Network for developers Join Now ➔

Java Streams List To Map

Last Updated : Sep 8, 2023

Java Streams List To Map

In this article we will show you the solution of java streams list to map, a strong and beautiful method of manipulating data collections in Java is through Java Streams. One frequent task that developers face is changing a List into a Map.

Java Streams can effortlessly implement this transition, making the code shorter and easier to read. In Java, a list is an ordered collection that permits element duplication.

A Map, on the other hand, shows the mapping between particular keys and values.

Each element in the List must be connected to a key-value pair in the final Map in order to be converted from a List to a Map. Now we'll talk about the Java streams list to map concept.

Step By Step Guide On Java Streams List To Map :-

Developers can get a Stream of elements from a List by using the stream() function on the List.

The elements can then be transformed to create the required Map by applying a number of stream operations, including mapping, filtering, and reducing.

Java Streams' adaptability enables a variety of methods to carry out the conversion.

The Collectors.toMap() method, which accepts key and value mapping functions as inputs, is one often used method.

These operations control how the List's elements are translated into the keys and values of the resulting Map.

import java.util.*;
import java.util.stream.Collectors;
class Person {
    private String name;
    private int age;
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    public String getName() {
        return name;
    }
    public int getAge() {
        return age;
    }
}
public class ListToMapExample {
    public static void main(String[] args) {
        List<Person> personList = new ArrayList<>();
        personList.add(new Person("Raman", 25));
        personList.add(new Person("Magan", 30));
        personList.add(new Person("Chagan", 28));
        personList.add(new Person("Gagan", 22));
        // Converting List to Map using Java Streams
        Map<String, Integer> personMap = personList.stream()
                .collect(Collectors.toMap(Person::getName, Person::getAge));
        // Printing the resulting Map
        System.out.println("Converted List to Map:");
        personMap.forEach((name, age) -> System.out.println(name + " -> " + age));
    }
}
  1. As you can see, we wrote the Java code that streams the list to the map in this place.
  2. We have a class called Person at the beginning of the code that represents people by their names and ages.
  3. It has the getter methods getName() and getAge() as well as the constructor Person(String name, int age) to initialise the name and age variables.
  4. Inside the main() function of the ListToMapExample class, we create a ListPerson> called personList to store instances of the Person type.
  5. The list now includes four new Person objects, each of which has a name and age.
  6. We then transform the personList into a MapString, Integer> using Java Streams.
  7. To get a stream of elements, the personList's stream() method is used.
  8. Then, Collectors are used together with the collect() method.toMap() is used to gather the components into a Map.
  9. Person::getName serves as the key mapping function and Person::getAge serves as the value mapping function, respectively, for the toMap() method.
  10. In the generated map, each person's name will serve as the key and their age as the matching value.
  11. The forEach() method on the map is then used to print the finished map, which is called personMap.
  12. To describe how each entry in the map should be handled and written, use the lambda expression (name, age) -> System.out.println(name + " -> " + age).
  13. Each person's name and age are shown as a key-value pair.

Conclusion :-

As a result, we were able to understand the idea of Java streams list to map.

Additionally, we discovered that Java Streams offer a quick and effective approach to change a List into a Map, streamlining the translation procedure.

Developers may easily create a Map with the required keys and values by using the stream() method and a variety of stream operations, such as mapping and collecting.

I hope this article on java streams list to map helps you and the steps and method mentioned above are easy to follow and implement.

Author Image About Riya

A recent graduate with a Bachelor of Technology (B.Tech) in Computer Science from India. She is passionate about leveraging technology to solve real-world problems. With a strong foundation and experience in programming languages such as Python, Django, HTML, CSS, and JavaScript, java, php and have honed her skills through hands-on projects and coursework.

Follow Riya On Linkedin 🡪