Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

Java Collections Sorusu


Deacon

Öne çıkan mesajlar

Tam collections sorusu mu emin degilim de.

Simdi bir adet player class'im var. Bunun icinde point ve name degiskenlerim var.

Bana farkli player objelerini point'lerine gore sirali tutabilecek bir yapi lazim.

Baya arastirdim SortedSet falan gibi seylere ulastim ama key olarak points degiskenini nasil ayarlicam falan bilmiyorum. Yardimlarinizi bekliyorum, saygilar.
Link to comment
Sosyal ağlarda paylaş

efendim c++ta bu soyle yapilir

iki yoldan
1) set alirsin, sete elemanlari atarsin. set'in template parametresindeki sort fonksiyonu icin kendin sort fonksiyonu yazarsin.

2) set alirsin, senin player classin varya, onun < isaretini overload edersin ve istedigin seye gore kucuktur olmasina bakarsin. stl zaten < isaretine gore kucuktur buyuktur veya esittir olaylarina bakar.


javada yapmasi da senden :)
Link to comment
Sosyal ağlarda paylaş

Genel olarak sıralama işlemini Collections utility class'ındaki sort metoduyla yapabilirsin. http://download.oracle.com/javase/6/docs/api/java/util/Collections.html#sort

Bu sort metoduna bir collection dışında bir Comparator verilebiliyor. http://download.oracle.com/javase/6/docs/api/java/util/Comparator.html

Comparator interface'ini implement eden bir class yazıcaksın. Comparator içindeki compare metodu iki tane player alıp hangisi daha büyük onu döndürecek. İlk player nesnesi küçükse negatif int, büyükse positif int, eşitse 0 döndürüyor. Compare metodunu player içindeki point'leri kıyaslayacak şekilde yazcaksın.

Comparator'u yazdıktan sonra benim bildiğim iki seçeneğin var.

1) SortedSet kullanırsın. Mesela TreeSet class'ını üretirken Comparator'u veriyorsun (constructor). Ona göre eklediğin her elemanı ağaç yapısı kullanıp sıralı olarak ekliyor.

2) Elemanları belli bir sırayla saklayan herhangi bir collection kullanırsın, mesela ArrayList, Eleman ekledikten sonra Collections.sort metodunu kullanıp (yine Comparator'u kullanarak) sıralarsın. Otomatik sıralansın istiyorsan da xetraynex'in dediği gibi add/put/addAll gibi metodları override edersin.
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...