Tôi đang cố gắng để có được một submap của LinkedHashMap
dựa trên chỉ số phần tử. Tôi có sáng tạo lại bánh xe ở đây không? Âm thanh như thế này phải ở đâu đó trong API đã có:Làm cách nào để lấy submap của LinkedHashMap theo chỉ mục phần tử?
public <K,V> LinkedHashMap<K,V> subMap(LinkedHashMap<K,V> map, int fromIndex, int toIndex) {
LinkedHashMap<K,V> result = new LinkedHashMap<K,V>();
int i=0;
for(Map.Entry<K,V> entry : map.entrySet()) {
if(i >= fromIndex && i < toIndex) {
result.put(entry.getKey(), entry.getValue());
}
i++;
}
return result;
}
Đây có phải là cách để đi hoặc có một số giải pháp tốt hơn/hiện có khác (trong Java 6 API).
Bản đồ 'Bản đồ trả lại 'sẽ được sử dụng như thế nào? Bạn có thể sử dụng một iterator thay thế? Nếu có, bạn có thể trả về một trình vòng lặp tùy chỉnh trả về các giá trị (hoặc Map.Entries) giữa phạm vi chỉ mục đã chỉ định. Hãy ghi nhớ các vấn đề tương tranh khi giao dịch với các phạm vi chỉ mục của một bộ sưu tập. – Nate