Map Interface trong java

1. Map Interface

Trong java, map được sử dụng để lưu trữ và truy xuất dữ liệu theo cặp khóa (key) và giá trị (value). Mỗi cặp key và value được gọi là entry.

Map chỉ chứa các giá trị key duy nhất, không  chứa các key trùng lặp.

Các lớp cài đặt (implements) Map interface là HashMap, LinkedHashMap and TreeMap.

  • HashMap không đảm bảo thứ tự các entry được thêm vào.
  • LinkedHashMap đảm bảo thứ tự các entry được thêm vào.
  • TreeMap duy trình thứ tự các phần tử dựa vào bộ so sánh Comparator.

Sức chứa (compacity) mặc định khi khởi tạo map là 24 = 16. Kích thước này sẽ tự động tăng gấp đôi mỗi khi thêm phần tử vượt quá kích thước của nó.

Các phương thức của Map interface

Phương thứcMô tả
void clear()Gỡ bỏ tất cả cặp key/value từ Map đang gọi
boolean containsKey(Object key)Trả về true nếu Map đang gọi chứa k như là một key. Nếu không là false
boolean containsValue(Object v)Trả về true nếu Map đang gọi chứa v như là một value. Nếu không là false
boolean equals(Object obj)Trả về true nếu obj là một Map và chứa cùng các Entry. Nếu không là false.
Object get(Object key)Trả về value mà liên kết với key
int hashCode()Trả về hash code cho Map đang gọi
boolean isEmpty()Trả về true nếu Map đang gọi là trống, nếu không là false
Object put(Object key, Object value)Đặt một entry vào Map đang gọi, ghi đè bất kỳ value trước mà liên kết với key. Với key và value tương ứng là k và v. Trả về null nếu key đã không tồn tại. Nếu không thì, value trước mà liên kết với key được trả về
void putAll(Map map)Đặt tất cả entry từ m vào trong Map này
Object remove(Object key)Gỡ bỏ entry mà có khóa là key được chỉ định.
int size()Trả về số các cặp key/value trong Map
Collection values( )Trả về một tập hợp chứa các value trong Map. Phương thức này cung cấp một collection-view của các value trong Map
Set keySet()Nó được sử dụng để trả đối tượng Set có chứa tất cả các keys.
Set entrySet()Nó được sử dụng để trả lại đối tượng Set có chứa tất cả các keys và values.

2. Map.Entry Interface

Entry là một interface con của Map. Vì vậy, chúng ta được truy cập nó bằng tên Map.Entry. Nó cung cấp các phương pháp để truy xuất các key và value.

Interface java.util.Map.Entry được định nghĩa như sau:

public interface Map<K,V> {
    interface Entry<K,V> {
 
    }
}

Các phương thức của Map.Entry interface

Phương thứcMô tả
Object getKey()Được dùng để lấy key.
Object getValue()Được sử dụng để lấy value.

3. Ví dụ sử dụng Map

package com.maixuanviet.collection.map;
 
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
 
public class MapExample {
    public static void main(String args[]) {
        // init map
        Map<Integer, String> map = new HashMap<Integer, String>();
        map.put(1, "Basic java");
        map.put(2, "OOP");
        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
3 = Collection
---
1 = Basic java
2 = OOP
3 = Collection

Related posts:

Java Map With Case-Insensitive Keys
Hướng dẫn sử dụng Java Annotation
Spring Cloud – Adding Angular
Arrays.asList vs new ArrayList(Arrays.asList())
Hướng dẫn Java Design Pattern – Intercepting Filter
Java Program to Implement CountMinSketch
Java Program to Check if a Given Set of Three Points Lie on a Single Line or Not
Java NIO2 Path API
So sánh ArrayList và Vector trong Java
Xử lý ngoại lệ đối với trường hợp ghi đè phương thức trong java
Java Program to Represent Graph Using 2D Arrays
Java Program to Implement Sieve Of Sundaram
DistinctBy in the Java Stream API
Inject Parameters into JUnit Jupiter Unit Tests
Hướng dẫn Java Design Pattern – Object Pool
Java Program to Implement Binomial Tree
Cài đặt và sử dụng Swagger UI
Java Program to Implement the Alexander Bogomolny’s UnOrdered Permutation Algorithm for Elements Fro...
Guide to the Synchronized Keyword in Java
Reading an HTTP Response Body as a String in Java
Java Program to Generate All Subsets of a Given Set in the Gray Code Order
Đồng bộ hóa các luồng trong Java
Java Program to Implement Interval Tree
A Guide to TreeMap in Java
Removing Elements from Java Collections
Hướng dẫn Java Design Pattern – Flyweight
Java Program to Find Basis and Dimension of a Matrix
Java Program to Implement Quick sort
Java Program to Find the Shortest Path Between Two Vertices Using Dijkstra’s Algorithm
Tổng quan về ngôn ngữ lập trình java
Lớp lồng nhau trong java (Java inner class)
Set Interface trong Java

3 Trackbacks / Pingbacks

  1. Lớp HashMap trong Java – Blog của VietMX
  2. Lớp TreeMap trong Java – Blog của VietMX
  3. Hashtable trong java – Blog của VietMX

Comments are closed.