Tôi có một danh sách các bản đồ như dưới đây. Tôi muốn sắp xếp các bản đồ bên trong danh sách theo thứ tự tùy chỉnh trong Java 8.Bản đồ sắp xếp tùy chỉnh trong Java 8
Ví dụ, Dưới đây là danh sách các bản đồ.
[{model=Ferrari},
{model=Tesla},
{model=Benz},
{model=Honda}]
Nếu tôi sắp xếp danh sách bản đồ trên bằng cách sử dụng mã bên dưới, Sắp xếp theo thứ tự bảng chữ cái.
l.sort(Comparator.comparing((Map<String,String> mp) -> mp.get("model")));
cho đầu ra bên dưới.
[{model = Benz}, {model = Ferrari}, {model = Honda}, {model = Tesla}]
Nhưng tôi cần phải sắp xếp bản đồ này dựa trên thứ tự (Không Thứ tự chữ cái): Honda, Tesla, Benz, Ferrari
Có cách tiếp cận nào tốt hơn chúng ta có thể đạt được loại tùy chỉnh trong Java 8 không?
Nếu bạn muốn có một trật tự tùy chỉnh, nó phải được định nghĩa ở đâu đó. Ví dụ: bạn có thể thêm một mục nhập thứ hai vào mỗi bản đồ của bạn, "order = 1" hoặc một cái gì đó. –
Nếu bạn đặt '[" Honda "," Tesla "," Benz "," Ferrari "]' vào danh sách, bạn có thể sắp xếp theo chỉ mục của mô hình trong danh sách đó. – khelwood
@khelwood thats ý tưởng tốt. Hãy để tôi thử đề xuất của bạn. –