Lớp LinkedHashMap trong Java

1. Đặc điểm

Những điểm quan trọng về lớp LinkedHashMap trong java cần nhớ là:

  • LinkedHashMap lưu trữ dữ liệu dưới dạng cặp key và value.
  • LinkedHashMap chỉ chứa các key duy nhất.
  • LinkedHashMap có thể có 1 key là null và nhiều giá trị null.
  • LinkedHashMap duy trì các phần tử theo thứ tự chèn.

2. Hierarchy của lớp LinkedHashMap

linkedhashmap

Lớp java.util.LinkedHashMap được định nghĩa như sau:

public class LinkedHashMap<K,V> 
    extends HashMap<K,V> implements Map<K,V> {
     
}

Trong đó:

  • K: đây là kiểu key để lưu trữ.
  • V: đây là kiểu giá trị được ánh xạ.

3. Các phương thức khởi tạo (constructor) của lớp LinkedHashMap

  • LinkedHashMap(): khởi tạo một map trống.
  • LinkedHashMap(Map<? extends K, ? extends V> m): khởi tạo một map với các phần tử của map m.

4. Các phương thức (method) của lớp LinkedHashMap

Xem thêm các phương thức của Map ở bài viết Map Interface trong java.

5. Ví dụ minh họa

5.1. Ví dụ sử dụng LinkedHashMap với kiểu dữ liệu cơ bản (Wrapper)

package com.maixuanviet.collection.linkedhashmap;
 
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Map.Entry;
 
public class LinkedHashMapExample {
    public static void main(String args[]) {
        // init map
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(1, "Basic java");
        map.put(2, "OOP");
        map.put(4, "Multi-Thread");
        map.put(3, "Collection");
 
        // show map using method keySet()
        for (Integer key : map.keySet()) {
            String value = map.get(key);
            System.out.println(key + " = " + value);
        }
 
        System.out.println("---");
 
        // show map using method keySet()
        for (Entry<Integer, String> entry : map.entrySet()) {
            Integer key = entry.getKey();
            String value = entry.getValue();
            System.out.println(key + " = " + value);
        }
    }
}

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

1 = Basic java
2 = OOP
4 = Multi-Thread
3 = Collection
---
1 = Basic java
2 = OOP
4 = Multi-Thread
3 = Collection

5.2. Ví dụ sử dụng LinkedHashMap với key có kiểu String, value có kiểu Student

package com.maixuanviet.collection.map;
 
public class Student {
    private int id;
    private String name;
 
    public Student(int id, String name) {
        this.id = id;
        this.name = name;
    }
 
    @Override
    public String toString() {
        return "Student [id=" + id + ", name=" + name + "]";
    }
 
    public int getId() {
        return id;
    }
 
    public String getName() {
        return name;
    }
 
}
package com.maixuanviet.collection.linkedhashmap;
 
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Map.Entry;
 
public class LinkedHashMapExample2 {
    public static void main(String args[]) {
        // Student's data
        Student student1 = new Student(1, "Student 1");
        Student student2 = new Student(2, "Student 2");
        Student student3 = new Student(3, "Student 3");
        Student student4 = new Student(4, "Student 4");
 
        // init map
        Map<Integer, Student> map = new LinkedHashMap<Integer, Student>();
        map.put(student1.getId(), student1);
        map.put(student2.getId(), student2);
        map.put(student4.getId(), student4);
        map.put(student3.getId(), student3);
 
        // show map using method keySet()
        for (Integer key : map.keySet()) {
            Student value = map.get(key);
            System.out.println(key + " = " + value);
        }
 
        System.out.println("---");
 
        // show map using method keySet()
        for (Entry<Integer, Student> entry : map.entrySet()) {
            Integer key = entry.getKey();
            Student value = entry.getValue();
            System.out.println(key + " = " + value);
        }
    }
 
}

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

1 = Student [id=1, name=Student 1]
2 = Student [id=2, name=Student 2]
4 = Student [id=4, name=Student 4]
3 = Student [id=3, name=Student 3]
---
1 = Student [id=1, name=Student 1]
2 = Student [id=2, name=Student 2]
4 = Student [id=4, name=Student 4]
3 = Student [id=3, name=Student 3]

Related posts:

Tránh lỗi ConcurrentModificationException trong Java như thế nào?
Multipart Upload with HttpClient 4
A Quick Guide to Using Keycloak with Spring Boot
Spring Boot - OAuth2 with JWT
Quick Guide on Loading Initial Data with Spring Boot
Tránh lỗi NullPointerException trong Java như thế nào?
A Guide To UDP In Java
Constructor Dependency Injection in Spring
Chuyển đổi Array sang ArrayList và ngược lại
Concurrent Test Execution in Spring 5
Java Program to Implement the linear congruential generator for Pseudo Random Number Generation
Rest Web service: Filter và Interceptor với Jersey 2.x (P1)
Running Spring Boot Applications With Minikube
Java Program to Find kth Largest Element in a Sequence
Spring Boot - Rest Template
Giới thiệu Aspect Oriented Programming (AOP)
Vòng lặp for, while, do-while trong Java
Java Program to Solve Knapsack Problem Using Dynamic Programming
Spring NoSuchBeanDefinitionException
Setting a Request Timeout for a Spring REST API
Java Program to find the peak element of an array using Binary Search approach
Sending Emails with Java
Java Program to Perform Inorder Non-Recursive Traversal of a Given Binary Tree
Java InputStream to Byte Array and ByteBuffer
Spring Security Login Page with React
Converting Between an Array and a Set in Java
Java Program to Implement Johnson’s Algorithm
Using Optional with Jackson
Java Program to Represent Graph Using Adjacency Matrix
Java Program to Implement LinkedHashMap API
Working With Maps Using Streams
Java Program to Implement Gale Shapley Algorithm