Java LinkedHashMap values() Method

The LinkedHashMap.values() method in Java is used to obtain a collection view of the values contained in the LinkedHashMap.

Table of Contents

  1. Introduction
  2. values Method Syntax
  3. Examples
    • Iterating Over Values in a LinkedHashMap
    • Modifying Values Using Value Collection
  4. Real-World Use Case
    • Example: Calculating Average Age of Users
  5. Conclusion

Introduction

The LinkedHashMap.values() method is a member of the LinkedHashMap class in Java. It returns a Collection view of the values contained in the map. This Collection is backed by the LinkedHashMap, so changes to the map are reflected in the collection, and vice-versa. This method is useful when you need to iterate over the values or perform operations based on the values.

values() Method Syntax

The syntax for the values method is as follows:

public Collection<V> values()
  • The method does not take any parameters.
  • The method returns a collection view of the values contained in the map.

Examples

Iterating Over Values in a LinkedHashMap

The values method can be used to iterate over the values in a LinkedHashMap.

Example

import java.util.LinkedHashMap;
import java.util.Collection;

public class ValuesExample {
    public static void main(String[] args) {
        // Creating a LinkedHashMap with String keys and Integer values
        LinkedHashMap<String, Integer> people = new LinkedHashMap<>();

        // Adding entries to the LinkedHashMap
        people.put("Ravi", 25);
        people.put("Priya", 30);
        people.put("Vijay", 35);

        // Getting the collection of values
        Collection<Integer> values = people.values();

        // Iterating over the collection of values
        for (Integer value : values) {
            System.out.println(value);
        }
    }
}

Output:

25
30
35

Modifying Values Using Value Collection

You can also modify the values in the LinkedHashMap using the value collection.

Example

import java.util.LinkedHashMap;
import java.util.Collection;

public class ModifyValuesExample {
    public static void main(String[] args) {
        // Creating a LinkedHashMap with String keys and Integer values
        LinkedHashMap<String, Integer> people = new LinkedHashMap<>();

        // Adding entries to the LinkedHashMap
        people.put("Ravi", 25);
        people.put("Priya", 30);
        people.put("Vijay", 35);

        // Getting the collection of values
        Collection<Integer> values = people.values();

        // Modifying the values using the collection
        for (String key : people.keySet()) {
            if (people.get(key) == 30) {
                people.put(key, 31);
            }
        }

        // Printing the modified LinkedHashMap
        System.out.println("Modified LinkedHashMap: " + people);
    }
}

Output:

Modified LinkedHashMap: {Ravi=25, Priya=31, Vijay=35}

Real-World Use Case

Example: Calculating Average Age of Users

A common real-world use case for LinkedHashMap.values() is calculating the average age of users stored in a LinkedHashMap. For example, let's consider a scenario where user profiles are stored with usernames as keys and ages as values.

Example

import java.util.LinkedHashMap;
import java.util.Collection;

public class AverageAgeCalculator {
    public static void main(String[] args) {
        // Creating a LinkedHashMap to store user profiles
        LinkedHashMap<String, Integer> userAges = new LinkedHashMap<>();

        // Adding user profiles to the LinkedHashMap
        userAges.put("Ravi", 25);
        userAges.put("Priya", 30);
        userAges.put("Vijay", 35);

        // Getting the collection of values
        Collection<Integer> ages = userAges.values();

        // Calculating the average age
        int sum = 0;
        for (Integer age : ages) {
            sum += age;
        }
        double averageAge = (double) sum / ages.size();

        // Printing the average age
        System.out.println("Average age of users: " + averageAge);
    }
}

Output:

Average age of users: 30.0

In this example, LinkedHashMap.values() is used to retrieve the ages stored in the map, and then the average age is calculated and printed.

Conclusion

The LinkedHashMap.values() method in Java provides a way to obtain a collection view of the values contained in the LinkedHashMap. By understanding how to use this method, you can efficiently manage and manipulate collections of values in your Java applications. The method allows you to iterate over values, modify values, and perform operations based on values, making it a versatile tool for data management.

Comments