Những điểm quan trọng về lớp LinkedHashMap trong java là:
- LinkedHashMaplưu trữ dữ liệu dưới dạng cặp key và value.
- Nó chứa các key duy nhất.
- Nó có thể có 1 key là null và nhiều giá trị null.
- Nó duy trì các phần tử theo thứ tự chèn.
Nội dung chính
Hierarchy của lớp LinkedHashMap
Lớp LinkedHashMap extends lớp HashMap và implements giao diện Map.
Khai báo của lớp LinkedHashMap
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ạ.
Ví dụ về LinkedHashMap trong java
Ví dụ 1: Sử dụng phương thức remove().
package vn.kienthuclaptrinh.collection; import java.util.LinkedHashMap; import java.util.Set; public class LinkedHashMapExample1 { /** * main * * @author kienthuclaptrinh.net * @param args */ public static void main(String args[]) { // init linkedHashMap LinkedHashMap<Integer, String> linkedHashMap = new LinkedHashMap<Integer, String>(); // add elements to linkedHashMap linkedHashMap.put(1, "Java"); linkedHashMap.put(3, "C++"); linkedHashMap.put(2, "PHP"); linkedHashMap.put(4, "Python"); // show linkedHashMap before remove System.out.println("Before remove:"); show(linkedHashMap); // remove element linkedHashMap.remove(2); // show linkedHashMap after remove System.out.println("After remove:"); // show hashMap show(linkedHashMap); } /** * show HashMap * * @param kienthuclaptrinh.net */ public static void show(LinkedHashMap<Integer, String> linkedHashMap) { Set<Integer> keySet = linkedHashMap.keySet(); for (Integer key : keySet) { System.out.println(key + " " + linkedHashMap.get(key)); } } }
Kết quả:
Before remove: 1 Java 3 C++ 2 PHP 4 Python After remove: 1 Java 3 C++ 4 Python
Ví dụ 2: HashMap với key có kiểu String, value có kiểu Student.
Lớp Student.java
/** * Student class * * @author kienthuclaptrinh.net */ class Student { private String name; private int age; private String address; public Student() { } public Student(String name, int age, String address) { super(); this.name = name; this.age = age; this.address = address; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() { return "Student@name=" + name + ",age=" + age + ",address=" + address; } }
Lớp LinkedHashMapExample2.java
package vn.kienthuclaptrinh.collection; import java.util.LinkedHashMap; import java.util.Set; public class LinkedHashMapExample2 { /** * main * * @author kienthuclaptrinh.net * @param args */ public static void main(String args[]) { // init linkedHashMap LinkedHashMap<String, Student> linkedHashMap = new LinkedHashMap<String, Student>(); // add elements to linkedHashMap linkedHashMap.put("1", new Student("A", 12, "Hanoi")); linkedHashMap.put(null, new Student("C", 13, "Hanoi")); linkedHashMap.put("2", null); linkedHashMap.put("4", new Student("D", 14, "Hanoi")); // show linkedHashMap show(linkedHashMap); } /** * show HashMap * * @param kienthuclaptrinh.net */ public static void show(LinkedHashMap<String, Student> linkedHashMap) { Set<String> keySet = linkedHashMap.keySet(); for (String key : keySet) { System.out.println(key + " " + linkedHashMap.get(key)); } } }
Kết quả:
1 Student@name=A,age=12,address=Hanoi null Student@name=C,age=13,address=Hanoi 2 null 4 Student@name=D,age=14,address=Hanoi