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

Related posts:

Introduction to Netflix Archaius with Spring Cloud
Java Program to Implement Best-First Search
Introduction to Spring Boot CLI
Java Program to Implement Iterative Deepening
A Guide to TreeSet in Java
Java Program to Create a Minimal Set of All Edges Whose Addition will Convert it to a Strongly Conne...
Spring Boot Tutorial – Bootstrap a Simple Application
Guide to the Fork/Join Framework in Java
Partition a List in Java
The Spring @Controller and @RestController Annotations
Luồng Daemon (Daemon Thread) trong Java
Loại bỏ các phần tử trùng trong một ArrayList như thế nào trong Java 8?
How to Remove the Last Character of a String?
Java Program to Implement the Vigenere Cypher
Unsatisfied Dependency in Spring
Java Program to Implement Sieve Of Eratosthenes
Java Program to Implement Skew Heap
Guide to java.util.concurrent.Future
Hướng dẫn Java Design Pattern – Prototype
How to Find an Element in a List with Java
Java Program to Implement HashTable API
Xử lý ngoại lệ trong Java (Exception Handling)
Java Program to Implement the Alexander Bogomolny’s UnOrdered Permutation Algorithm for Elements Fro...
Java Program to Implement Johnson’s Algorithm
Java Program to Implement Knapsack Algorithm
Java Program to Perform Uniform Binary Search
The SpringJUnitConfig and SpringJUnitWebConfig Annotations in Spring 5
Flattening Nested Collections in Java
Java Program to Implement Multi-Threaded Version of Binary Search Tree
Spring Boot - Code Structure
Summing Numbers with Java Streams
@Lookup Annotation in Spring