Danh sách đại diện cho thứ tự tuần tự của các phần tử. Bản đồ được sử dụng để đại diện cho một tập hợp các cặp khóa / giá trị.
Mặc dù bạn có thể sử dụng bản đồ như một danh sách, nhưng có một số mặt trái của việc làm như vậy.
Duy trì thứ tự:
- Một danh sách theo định nghĩa là có thứ tự. Bạn thêm các mục và sau đó bạn có thể lặp lại qua danh sách theo thứ tự mà bạn đã chèn các mục. Khi bạn thêm các mục vào HashMap, bạn không được đảm bảo sẽ truy xuất các mục theo đúng thứ tự mà bạn đã đặt chúng. Có các lớp con của HashMap như LinkedHashMap sẽ duy trì thứ tự, nhưng nói chung thứ tự không được đảm bảo với Bản đồ.
Ngữ nghĩa của Khóa / Giá trị:
- Mục đích của bản đồ là lưu trữ các mục dựa trên một khóa có thể được sử dụng để lấy mục đó ở một điểm sau. Chức năng tương tự chỉ có thể đạt được với một danh sách trong trường hợp hạn chế khi khóa xảy ra là vị trí trong danh sách.
Khả năng đọc mã
Hãy xem xét các ví dụ sau.
list.add(myObject);
map.put(myKey, myObject);
map.put("1", myObject);
for (Object o : myList)
for (Object o : myMap.values())
Chức năng bộ sưu tập
Một số chức năng tiện ích tuyệt vời có sẵn cho danh sách thông qua lớp Bộ sưu tập. Ví dụ ...
Collections.shuffle(myList);
Collections.sort(myList, myComparator);
Hi vọng điêu nay co ich,
Lists
vàMaps
là hai cấu trúc dữ liệu hoàn toàn khác nhau, với các phép toán khác nhau và bất biến. Bạn có thể giải thích bối cảnh / yêu cầu mà bạn đang nghĩ đến mà cả hai đều là giải pháp chấp nhận được không?