Sự khác biệt giữa HashMap, LinkedHashMap và TreeMap trong Java?

{{FormatNumbertoThousand(model.total_like)}} lượt thích
253 lượt xem
Java middle

Cả ba lớp đều triển khai Map interface và cung cấp hầu hết các chức năng giống nhau. Sự khác biệt quan trọng nhất là thứ tự lặp lại qua các phần tử sẽ xảy ra:

  • HashMap hoàn toàn không đảm bảo về thứ tự lặp lại. Nó có thể (và sẽ) thay đổi hoàn toàn khi các phần tử mới được thêm vào.
  • TreeMap sẽ lặp lại theo "thứ tự tự nhiên" của các khóa theo phương thức CompareTo() của chúng (hoặc một Comparator được cung cấp từ bên ngoài). Ngoài ra, nó triển khai SortedMap interface, trong đó có các phương thức phụ thuộc vào thứ tự sắp xếp này.
  • LinkedHashMap sẽ lặp lại theo thứ tự mà các phần tử được nhập vào map.
{{login.error}}