Java'da bağlantılı bir listeyi nasıl sıralayabilirim?

Bağlantılı listenizi Java'ya göre sıralayın.

Java'da bağlantılı bir listeyi sırala

1. Adım

Bağlantılı listeyi yeni bir LinkedList nesnesi oluşturarak ve bir LinkedList değişkenine atayarak bildirin. LinkedList, jenerik List sınıfından miras alır, bu nedenle List kabul edilen herhangi bir yöntem de LinkedList nesnesi tarafından kabul edilir.

"" LinkedList l = yeni LinkedList (); ""

2. Adım

Listeye aynı türde (tamsayılar gibi) nesneler ekleyin. Bunlar her türden nesneler olabilir, ancak bağlantılı listeyi sıralayabilmek için hepsinin aynı türde olması gerekir.

3. adım

Listenin başına yeni nesneler eklemek için List.addFirst yöntemini kullanın, böylece eklediğiniz nesneler ters sırada olacaktır. Bunları listenin sonuna eklemek isterseniz, List.addLast yöntemini kullanın.

list.addFirst (1); list.addFirst (3); list.addFirst (2); ""

4. Adım

Listede yinelemek için bir yineleyici kullanın ve sıralama yönteminin ne yaptığını görmek için önce ve sonra yazdırın.

"" için (Iterator i = list.iterator (); i.hasNext ();) {System.out.println (i.next ());} ""

Varsayılan ve özel karşılaştırıcılar kullanarak sırala

1. Adım

Listeyi varsayılan karşılaştırma ile sıralayın. Bir karşılaştırıcı, iki nesneyi karşılaştıran bir nesnedir. Varsayılan karşılaştırıcı nesnesi, operatörü daha küçük kullanır, böylece liste artan sırada sıralanır. Listeyi sıralamak için, static.

"" Collections.sort (liste); ""

2. Adım

Karşılaştırma arabirimini uygulayan bir sınıf yazıp listeye bir argüman olarak bir sıra yazarak listeyi özel bir karşılaştırıcıyla sıralayın. Karşılaştırıcıyı uygulayan sınıf, basit "karşılaştır" yöntemini uygulamak zorundadır.

"" public class GreaterThan, Compression else'ı (x == y) {return 0;} else {return 1;}}} "" ise uygular.

3. adım

GreaterThan'ın yeni bir örneğini ikinci bir argüman olarak ileterek Collections.sort'a çağırın. Daha büyük olan nesneler listede daha önce sıralanacağından, liste artan olarak değil, azalan düzende sıralanacaktır. Alternatif olarak, kendiniz yazdığınız bir özel sınıftan bir nesne listesi sipariş edecekseniz, bu sınıf ayrı bir Karşılaştırıcı sınıfı kullanmak yerine Karşılaştırılabilir arabirimi uygulayabilir.

"" Collections.sort (liste, yeni GreaterThan ()); ""