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:

Jackson – Change Name of Field
Java Program to Check if a Directed Graph is a Tree or Not Using DFS
Từ khóa throw và throws trong Java
Configuring a DataSource Programmatically in Spring Boot
@Before vs @BeforeClass vs @BeforeEach vs @BeforeAll
Java Program to Check Whether Graph is DAG
Java Program to Describe the Representation of Graph using Incidence Matrix
Java Program to Implement Red Black Tree
Rest Web service: Filter và Interceptor với Jersey 2.x (P1)
Java Program to Implement CopyOnWriteArrayList API
OAuth2.0 and Dynamic Client Registration
Java Program to Implement HashTable API
Simplify the DAO with Spring and Java Generics
Introduction to Spring Cloud Netflix – Eureka
Java Program to Implement Shoelace Algorithm
Guide to DelayQueue
File Upload with Spring MVC
Java Program to Check Cycle in a Graph using Topological Sort
Spring Security OAuth Login with WebFlux
Java Program to Implement Multi-Threaded Version of Binary Search Tree
Java Program to Check Whether an Input Binary Tree is the Sub Tree of the Binary Tree
Java Program to Implement Merge Sort Algorithm on Linked List
Java Program to Implement Find all Cross Edges in a Graph
Lập trình hướng đối tượng (OOPs) trong java
Spring Security Basic Authentication
Posting with HttpClient
Spring @RequestMapping New Shortcut Annotations
New Features in Java 13
Tính trừu tượng (Abstraction) trong Java
How to Convert List to Map in Java
Java Program to Use rand and srand Functions
Lập trình đa luồng với CompletableFuture trong Java 8

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.