Câu hỏi phỏng vấn Java
Câu hỏi

Sự khác biệt giữa HashMap, LinkedHashMapTreeMap trong Java là gì?

Câu trả lời

Trong Java, HashMap, LinkedHashMap, và TreeMap đều là các lớp triển khai interface Map, được sử dụng để lưu trữ dữ liệu dưới dạng cặp khóa (key) - giá trị (value). Mặc dù chúng có mục đích sử dụng tương tự nhưng có những đặc điểm và sự khác biệt quan trọng:

HashMap

  • HashMap lưu trữ các cặp khóa - giá trị không theo thứ tự cụ thể nào.
  • Nó cho phép một khóa null và nhiều giá trị null.
  • HashMap là lớp triển khai nhanh nhất trong ba lớp này và hoạt động dựa trên bảng băm.
  • Không đảm bảo thứ tự của các phần tử khi lặp qua.

LinkedHashMap

  • LinkedHashMap duy trì thứ tự chèn của các cặp khóa - giá trị.
  • Giống như HashMap, nó cũng cho phép một khóa null và nhiều giá trị null.
  • LinkedHashMap thường chậm hơn HashMap một chút do nó duy trì một danh sách liên kết của các cặp khóa - giá trị, nhưng nhanh hơn khi lặp qua các phần tử.

TreeMap

  • TreeMap lưu trữ các cặp khóa - giá trị dựa trên thứ tự tự nhiên của khóa hoặc dựa trên Comparator được cung cấp khi tạo `T...
middle

middle

Gợi ý câu hỏi phỏng vấn

senior

Sự khác giữa một Non-static nested class và một Static nested class trong Java là gì?

middle

So sánh biến volatile và biến static trong Java?

junior

Trong Java có các phạm vi sử dụng biến nào? Hãy giải thích chúng

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào