LinkedHashMap
onun sipariş görünümde ortasında yineleme başlatmak için bir yol sunmaz gerekli parçasında almak için tailMap
kullanabilirsiniz haritanın verilerinin sizin kullanım örneğini Supposing bazı Date d
sonra ve tüm tarihleri istiyorum gerçekten bu yineleme, o zaman muhtemelen TreeMap
olarak haritanızı saklamalısınız. Burada önemli bir fark, LinkedHashMap
'un siparişinin ekleme siparişi olması ve sözde kullanım durumumuzun anahtar siparişi olmasını istemektir. TreeMap
, haritanın içeriğini haritanın anahtarına göre sıralayarak böyle bir görünümü korur.
TreeMap
s karaktere bağlı olarak haritanın dilim oluşturmak için izin ek yarar var, yani bütün tuşlar k
sonrası olmak üzere haritayı döndürmek için, tailMap(K k)
çağırabilir. Bu durumda, d
başlangıç noktanız ile tailMap
numaralı telefonu arayabilirsiniz.
ör .:
TreeMap<Date, Double> dateForPrice;
// load up dateForPrice
Date start = // the point to start your iteration
for(Entry<Date, Double> entry : dateForPrice.tailMap(start).entrySet()){
// loop code
}
tailMap
yöntem iterable olmadığı, SortedMap
döndürür. Ancak Iterable
'un alt yüzü olan Set
döndüren entrySet
yöntemine sahiptir.
Uygun, size basitçe (tabii bazı performans arasında denge ile) mevcut örneğiyle bir TreeMap
yükleyebilirsiniz bir LinkedHashMap
verilerinizi depolamak tutmak istiyorsanız:
TreeMap<Date, Double> dateSortedDateForPrice = new TreeMap<Date, Double>(dateForPrice);
sen atlayabilirsiniz bile Belirli bir yer, bir "LinkedHashMap" iterasyon emri, * ekleme emri * olacaktır, anahtarların doğal sırası değil; istediğin bu mu? –
Evet, istediğim bu. Hisse senedi fiyatı tarihe göre eklenecektir. –