Sự khác nhau giữa map và hashmap
HashMap là một cấu trúc dữ liệu rất mạnh mẽ trong Java. Chúng ta sử dụng nó hàng ngày và gần như trong tất cả các ứng dụng. HashMap là một lớp không đồng bộ trong Java collection. Show
Vậy bạn đã từng tự hỏi những câu sau đây chưa?
Trong bài viết này, chúng ta sẽ lần lượt làm rõ tại sao và làm thế nào để có thể đồng bộ hóa HashMap. 1. Tại sao?Map object là một container chứa các phần tử, các phần tử đó được tạo thành bởi sự kết hợp của khóa xác định duy nhất và giá trị được ánh xạ. Nếu bạn có ứng dụng mang tính đồng thời cao, bạn có thể muốn sửa đổi hoặc đọc giá trị khóa trong các luồng(threads) khác nhau thì đó là lúc lý tưởng để sử dụng Concurrent Hashmap. Ví dụ như bạn muốn cache dữ liệu, nhiều luồng(threads) có thể đọc dữ liệu cache đồng thời... Vậy thì thread-safe Map có nghĩa là gì? Nếu nhiều luồng(threads) có thể truy cập một HashMap đồng thời, và ít nhất 1 luồng sửa đổi cấu trúc của Map thì nó phải đồng bộ bên ngoài để tránh việc dữ liệu không nhất quán. 2. Làm thế nào?Có 2 cách để chúng ta có thể đồng bộ hóa một HashMap
3. ConcurrentHashMap
4. SynchronizedHashMap
5. Ví dụ
Nội dung bài viết Chào các em, trong những bài trước anh đã giới thiệu về các tập hợp trong lập trình Java bao gồm List , Vector, Set, Queue, Deque, Map.
1. Các collection trong lập trình java2. ListLà một cấu trúc dữ liệu có thứ tự (đôi khi còn được gọi là một chuỗi). List có thể chứa các phần tử trùng lặp. Thường có quyền kiểm soát chính xác vị trí các phần tử được chèn vào và có thể truy cập chúng bằng chỉ số (vị trí của chúng).
3. VectorLà một cấu trúc dữ liệu có thể chứa các phần tử trùng lặp. Duy trì thứ tự của phần tử được thêm vào. Vector là synchronized.
4. SetLà một cấu trúc dữ liệu không thể chứa 2 giá trị trùng lặp.
5. Queue (hàng đợi)Là một cấu trúc dữ liệu được sử dụng để chứa nhiều phần tử trước khi xử lý. Bên cạnh các thao tác cơ bản của collection, Là tập hợp cho phép các phần tử trùng lặp, Không cho phép phần tử null Queue cung cấp các thao tác bổ sung như chèn, lấy ra và kiểm tra. Queue có thể được sử dụng như là FIFO (first-in, first-out - vào trước, ra trước).
6. DequeLà một cấu trúc dữ liệu cung cấp các thao tác bổ sung như chèn, lấy ra và kiểm tra. Deque có thể được sử dụng như là FIFO (first-in, first-out - vào trước, ra trước) và LIFO (last-in, first-out - vào sau, ra trước). Trong một Deque, tất cả các phần tử mới có thể được chèn vào, lấy ra và lấy ra ở cả hai đầu.
7. MapLà một đối tượng ánh xạ mỗi key tương ứng với một giá trị. Map không thể chứa giá trị trùng lặp. Mỗi key có thể ánh xạ đến nhiều nhất một giá trị.
8. Phân biệt Collection vs Collections
9. Sự khác nhau Array và ArrayList
10. Sự khác nhau Set và List
11. Sự khác nhau ArrayList và Vector
13. Sự khác nhau HashSet và TreeSetHashSet không duy trì thứ tự nào, trong khi TreeSet duy trì thứ tự tăng dần 14. Sự khác biệt giữa HashSet và HashMap
15. Sự khác biệt giữa HashMap và TreeMapHashMap duy trì không có thứ tự, trong khi TreeMap duy trì thứ tự tăng dần. 16. Sự khác biệt giữa Sự khác nhau giữa HashMap và Hashtable
17. Sự khác nhau Set và MapSet chỉ chứa giá trị, trong khi Map chứa cặp key và value. 18. Video Demo
19. Source code
Mọi người hãy Subscribe kênh youtube dưới đây nhé để cập nhật các video mới nhất về kỹ thuật và kỹ năng mềm |