2010-11-22 16 views
2

Bu nedenle, klavyedeki her tuşa kaç kez basıldığını takip etmeye çalışıyorum, bu nedenle değişkenlere göre sıralanan TreeMap gibi bir şeye ihtiyacım var. Bunu yapan iyi bir veri yapısını bilen var mı?Birden fazla sayıcı ve ilgili nesneyi tek bir sıralı veri yapısında tutuyor musunuz?

+0

Sipariş ne demek istiyorsun? Burada ne tür bir sırayla konuştuğunuzu belirtmeniz gerekiyor. – ColinD

+0

Bir TreeMap olduğunu söyleyelim. Anahtar yerine en yüksek değerden en düşük değere kadar sipariş verilebilir. –

+0

[Bu] ile aynı gibi görünüyor (http://stackoverflow.com/questions/109383/how-to-sort-a-mapkey-value-on-the-values-in-java). – Dmitri

cevap

1

Neden bir TreeMap kullanmıyorsunuz? Öğelerini Comparator kullanarak sipariş etme yeteneğine sahiptir. Hangi iki char 'un diğerinden "büyük" olduğunu belirleyecek olan Comparator'u uygulayan bir sınıf tanımlayabilirsiniz, böylece bir sıralama aracı sağlanır. Bence String sadece bunun için bir yöntem var; senin Comparator sadece char 's String' s ve daha sonra String.compare değerini döndürmek gerekir.

+0

Bunu denedim, ancak TreeSet'im –

+0

'u karşılaştırmak için iki nesne aldığında NullPointerException alıyorum. Neden olduğunu anladım, Java benim referansımdaki haritayı ana kodumdakiyle aynı olmayacak şekilde TreeMaps'i iletmiyor . –

1

Neden anahtar değerinin dizi dizinine karşılık geldiği bir int dizisi yapmıyorsunuz? Örneğin ötesinde desteklemediğiniz sürece standart ASCII, bu makul olmalıdır.

+0

Bu sipariş verilemedi. Muhtemelen bunun için bir yöntem yapardım ama daha kolay bir yol olup olmadığını görmek istedim ilk olarak –

+1

@ Rahat sipariş etmek için ne istiyorsunuz? Yanlış anlaşılmış olabilirim ... – Armand

+0

Bir TreeMap olduğunu söyleyelim. Anahtar yerine en yüksek değerden en düşük değere kadar sipariş verilebilir. –

İlgili konular