Apache Collections]1 kütüphanesinden TreeBidiMap
kullanıyorum. Bunu double
olan değerler üzerinde sıralamak istiyorum.
Benim yöntemim, kullanarak değerlerin bir Collection
ını almaktır:
Collection coll = themap.values();
Bu da doğal olarak iyi çalışıyor.
Ana Soru: Şimdi coll'u (hangisinin doğru olduğundan emin değilim) sıralanabilmesi için bir
Liste'ye nasıl dönüştürebileceğimi/yayınlayabileceğimi bilmek istiyorum?
Daha sonra, sıralı olması gereken sıralanmış List
nesnesi üzerinde yineleme yapmayı ve themap.getKey(iterator.next())
kullanarak TreeBidiMap
(themap
) içinden uygun anahtarları almayı planlıyorum; burada yineleyici double
listesi üzerinde olacaktır.
List list = new ArrayList(coll);
Collections.sort(list);
Erel Segal Halevi'nin aşağıda belirttiği gibi, eğer coll zaten bir liste ise, birinci adımı atlayabilirsiniz. Ancak bu TreeBidiMap'in iç yapısına bağlı olacaktır.
List list;
if (coll instanceof List)
list = (List)coll;
else
list = new ArrayList(coll);
Bunun gibi bir şey, bir Koleksiyon alan ArrayList constructor'ı çağırarak çalışmalıdır:
List theList = new ArrayList(coll);