Chuyển đổi từ HashMap sang ArrayList

HashMap và ArrayList là hai cấu trúc dữ liệu được sử dụng nhiều nhất trong java. Cả hai lớp kế thừa từ các hệ phân cấp khác nhau. HashMap được kế thừa từ giao diện Map đại diện cho dữ liệu ở dạng các cặp khóa-giá trị (key-value). ArrayList được kế thừa từ giao diện List, sắp xếp dữ liệu một cách tuần tự. Chuyển đổi HashMap sang ArrayList cũng đã trở thành câu hỏi thường gặp trong các cuộc phỏng vấn java vì không có phương pháp trực tiếp nào trong HashMap chuyển đổi HashMap thành ArrayList. Trong bài này, chúng ta sẽ thấy làm thế nào để chuyển đổi HashMap thành ArrayList trong java.

1. Làm thế nào để Chuyển đổi HashMap Để ArrayList Trong Java?

HashMap chứa cặp khóa-giá trị, có ba cách bạn có thể chuyển đổi được đưa ra HashMap để ArrayList. Bạn có thể chuyển đổi các khóa (key) của HashMap thành ArrayList hoặc bạn có thể chuyển đổi các giá trị (value) HashMap thành ArrayList hoặc bạn có thể chuyển các cặp khóa-giá (key-value) trị thành ArrayList.

1.1. Chuyển đổi các khóa (key) HashMap thành ArrayList

// Creating a HashMap object
Map<String, String> map = new HashMap<String, String>();
 
// Getting Set of keys from HashMap
Set<String> keySet = map.keySet();
 
// Creating an ArrayList of keys by passing the keySet
List<String> listOfKeys = new ArrayList<String>(keySet);

1.2. Chuyển đổi các giá trị (value) HashMap thành ArrayList

// Creating a HashMap object
Map<String, String> map = new HashMap<String, String>();
 
// Getting Collection of values from HashMap
Collection<String> values = map.values();
 
// Creating an ArrayList of values
List<String> listOfValues = new ArrayList<String>(values);

1.3. Chuyển đổi các cặp khóa-giá trị (key-value) của HashMap thành ArrayList

/// Creating a HashMap object
Map<String, String> map = new HashMap<String, String>();
 
// Getting the Set of entries
Set<Entry<String, String>> entrySet = map.entrySet();
 
// Creating an ArrayList Of Entry objects
List<Entry<String, String>> listOfEntry = new ArrayList<Entry<String,String>>(entrySet);

2. Ví dụ Java chuyển đổi HashMap thành ArrayList

package com.maixuanviet.collection.list.arraylist;
 
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
 
public class HashMapToArrayListExample1 {
    public static void main(String[] args) {
        // Creating a HashMap object
        Map<String, String> studentPerformanceMap = new HashMap<String, String>();
 
        // Adding elements to HashMap
        studentPerformanceMap.put("John Kevin", "Average");
        studentPerformanceMap.put("Rakesh Sharma", "Good");
        studentPerformanceMap.put("Prachi D", "Very Good");
        studentPerformanceMap.put("Ivan Jose", "Very Bad");
        studentPerformanceMap.put("Smith Jacob", "Very Good");
        studentPerformanceMap.put("Anjali N", "Bad");
 
        // Getting Set of keys
        Set<String> keySet = studentPerformanceMap.keySet();
 
        // Creating an ArrayList of keys
        List<String> listOfKeys = new ArrayList<String>(keySet);
 
        System.out.println("ArrayList Of Keys :");
        for (String key : listOfKeys) {
            System.out.println(key);
        }
 
        System.out.println("--------------------------");
 
        // Getting Collection of values
        Collection<String> values = studentPerformanceMap.values();
 
        // Creating an ArrayList of values
        List<String> listOfValues = new ArrayList<String>(values);
 
        System.out.println("ArrayList Of Values :");
        for (String value : listOfValues) {
            System.out.println(value);
        }
 
        System.out.println("--------------------------");
 
        // Getting the Set of entries
        Set<Entry<String, String>> entrySet = studentPerformanceMap.entrySet();
 
        // Creating an ArrayList Of Entry objects
        List<Entry<String, String>> listOfEntry = new ArrayList<Entry<String, String>>(entrySet);
        System.out.println("ArrayList of Key-Values :");
        for (Entry<String, String> entry : listOfEntry) {
            System.out.println(entry.getKey() + " : " + entry.getValue());
        }
    }
}

Kết quả thực thi chương trình trên:

ArrayList Of Keys :
John Kevin
Prachi D
Smith Jacob
Anjali N
Ivan Jose
Rakesh Sharma
--------------------------
ArrayList Of Values :
Average
Very Good
Very Good
Bad
Very Bad
Good
--------------------------
ArrayList of Key-Values :
John Kevin : Average
Prachi D : Very Good
Smith Jacob : Very Good
Anjali N : Bad
Ivan Jose : Very Bad
Rakesh Sharma : Good