2016-11-23 3 views
0

У меня есть следующая проблема, работающая над приложением Java, которое использует структуру данных Hashtable calcoliTable.Как получить последнюю запись, вставленную в структуру данных Java Hashtable?

Это содержание моего calcoliTable:

{ 
FITTIZIO-2015=CalcoloValoreDellaGSBean [data=2015-11-27, maturato=249540.544989802560000, sommaMaturatoMovimento=249540.544989802560000], 

1=CalcoloValoreDellaGSBean [data=2015-11-27, maturato=249540.544989802560000, sommaMaturatoMovimento=249540.544989802560000] 
} 

Как вы можете видеть, что содержит 2 записи, имеющие идентификатор = 1 и ID = FITTIZIO-2015.

Я хочу извлечь запись, которая была вставлена ​​совсем недавно (она должна быть id = FITTIZIO-2015).

Я попытался сделать таким образом:

CalcoloValoreDellaGSBean calcoloPrecedente = (CalcoloValoreDellaGSBean) calcoliTable.get(calcoliTable.size()) 

Но это не будет работать, потому что таким образом она ищет запись, имеющую идентификатор = 2.

Как я могу извлечь последнюю запись, вставленную в мой HashTable? Существуют ли способы сделать это, не используя explitelly ключ?

ответ

0

Используйте LinkedHashMap с режимом упорядочения доступа порядка:

Map<KeyType,ValueType> map = new LinkedHashMap<KeyType,ValueType> (16, 0.75F, true); 

И затем

map.entrySet().iterator().next() 

даст вам последнюю запись, доступ (либо вставить или извлечь).

+0

Я думаю, проблема в том, что OP поддерживает устаревший код и не может изменить структуру данных. – Andrew

+0

@AndrewTobilko Это может быть, но это не указано в вопросе. – Eran

+0

никто не использует hashtables сейчас :) – Andrew

Смежные вопросы