Какой самый элегантный способ скопировать ключи и значения из одной хеш-таблицы в другую между начальными и конечными ключами в обратном порядке? Например, оригинальная хеш-таблица:
[<1,"object1">; <2, "object2">; <4,"object3">; <5,"object4">;<7,"object5">;<8,"object6">]
после вызова функции getPartListOfNews (2,4) она должна вернуть хеш-таблицу следующим образом:
[<7,"object5">;<5,"object4">;<4,"object3">]
Я сделал код для этого, и он приведен ниже, но я не думаю, что это лучший способ сделать то, что я описал ранее. Есть ли какие-нибудь лучшие решения? Как я могу упростить этот код?
public Hashtable<Integer, News> getPartListOfNews(int start, int end){
Hashtable <Integer, News> tempNewsList = new Hashtable <Integer, News>();
int total_to_get = end-start;
int list_size = newsList.size();
Object[] key_array = new Object[list_size];
if(list_size < total_to_get){
return newsList;
}
else{
Enumeration e = newsList.keys();
int index=0;
while(e.hasMoreElements()){
key_array[index] = e.nextElement();
index ;
}
for (int i=end; i>start; i--){
tempNewsList.put((Integer)key_array[i], newsList.get(key_array[i]));
}
return tempNewsList;
}
}
Обновление:
public Hashtable<Integer, News> newsList = new Hashtable<Integer, News>();
Спасибо.