Hogyan lehet rendezni a kapcsolt listát Java-ban

Szerző: Louise Ward
A Teremtés Dátuma: 3 Február 2021
Frissítés Dátuma: 27 November 2024
Anonim
Hogyan lehet rendezni a kapcsolt listát Java-ban - Cikkek
Hogyan lehet rendezni a kapcsolt listát Java-ban - Cikkek

Tartalom

Hogyan lehet rendezni egy kapcsolt listát Java-ban. A zárt lista az adatstruktúrák egyik fő típusa a programozási világban. Olyan csomópontok szervezete, amelyek a következő csomópontra mutató adatokat és hivatkozásokat tartalmaznak. A kapcsolt lista rendezéséhez Java-ban van egy listaosztály, amely együtt működik a gyűjtemény keretrendszerrel, amely algoritmusokat rendelésként valósít meg.


irányok

A kapcsolt lista rendezése Java-ban (lekérdezési kép a danimages által a Fotolia.com-tól)

    Rendezzen egy kapcsolt listát Java-ban

  1. A LinkedList objektum létrehozásával hozza létre a linkelt listát, és hozzárendel egy LinkedList változót. A LinkedList az általános listaosztályból származik, így bármely olyan lista, amely elfogadja a listát, a LinkedList objektumban is elfogadható lesz. "" LinkedList l = új LinkedList (); ""

  2. Adjon hozzá azonos típusú objektumokat (például egész számokat) a listához. Ezek lehetnek bármilyen tárgyak, de a linkelt lista rendezéséhez mindegyiknek azonos típusúnak kell lennie.


  3. Használja a List.addFirst módszert új objektumok beillesztésére a lista tetejére, hogy a hozzáadott objektumok ellenkező sorrendben legyenek. Ha hozzá kívánja adni őket a lista végéhez, használja a List.addLast módszert. "" list.addFirst (1); list.addFirst (3); list.addFirst (2); "

  4. Használjon iterátort a listán való ismétléshez és a nyomtatás előtti és utáni nyomtatásához. "" (Iterator i = list.iterator (); i.hasNext ();) {System.out.println (i.next ());} "

    Rendezés az alapértelmezett és az egyéni komparátorok használatával

  1. A lista rendezése az alapértelmezett összehasonlítóval. A komparátor egy objektum, amely két objektumot hasonlít össze. Az alapértelmezett összehasonlító objektum a kisebb operátort használja, így a lista növekvő sorrendben kerül megrendelésre. A lista rendezéséhez használja a statikus Collection.sort módszert. "" Gyűjtemények.lista (lista); ""


  2. y) {return -1; "> Rendelje meg a listát egy egyéni összehasonlítóval egy osztály létrehozásával, amely egy összehasonlító felületet valósít meg, és átadja azt egy példánynak, mint megrendelési argumentumot. "nyilvános osztály GreaterThan végrehajtja a Comparator-ot, ha (x == y) {return 0;} else {return 1;}}}"

  3. Használja a Collection.sort hívást a GreaterThan új példányának átadásával. Mivel a nagyobb objektumok a többiek előtt lesznek, a lista növekvő sorrendben csökkenő sorrendben lesz rendezve. Alternatív megoldásként, ha egy egyéni osztályból származó objektumlistát rendez, amit Ön maga írott be, ez az osztály megvalósíthatja az összehasonlítható felületet a külön összehasonlító osztály használata helyett. "" Gyűjtemények.lista (lista, új GreaterThan ()); ""

tippek

  • Problémát jelent, hogy egy egész számot használjunk az áramkörben és a List.size () metódusban. A zárt listák elterjesztése drága számítási művelet. Ha indexkezelőt használ (mint például az l [2]), mint bármelyik parancsban, a Java-nak a listára kell válnia, amíg el nem éri a 2-es indexet. Kis listák esetében ez egy probléma, bármi nagy, az index-kezelő használatával az iteráció valami olyasmit vált, amely sok erőforrást igényel.
  • Függetlenül attól, hogy a List objektumot hogyan valósítják meg, mivel a LinkedList ugyanezt a felületet használja.
  • Az összehasonlító módszernek vissza kell térnie a -1-re, ha arg0-t rendelünk az arg1 előtt, 0, ha egyenlő sorrendben rendeljük, és 1-et, ha arg1 van rendelve az arg0 előtt.

figyelmeztetés

  • Az iterátorobjektum biztosítja, hogy a lista minden csomópontja csak egyszer látogasson el. Ez fontos megjegyezni, mivel szükségtelenül meglátogathat minket az adatstruktúrákkal ahhoz a ponthoz, ahol a program meghibásodik.

A cukorbetegég egy általáno állapot, amelyben a zemélynek maga a vércukorzintje, de nem elég maga ahhoz, hogy ténylegeen cukorbetegnek tekinthető legyen. Azok a...

A fürdőhabarc jó hely lehet a gomba vagy a penézgomba növekedééhez, így a nézet kellemetlen, é bizonyo eetekben vezélye. Mivel a habarc kié por&#...

Győződjön Meg Róla, Hogy Nézzen