Program Java na triedenie ArrayList vlastných objektov podľa vlastnosti

V tomto programe sa naučíte triediť zoznam vlastných objektov podľa ich danej vlastnosti v jazyku Java.

Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku Java:

  • Trieda Java a objekty
  • Trieda Java ArrayList

Príklad: Zoradenie poľa vlastných objektov podľa vlastnosti

 import java.util.*; public class CustomObject ( private String customProperty; public CustomObject(String property) ( this.customProperty = property; ) public String getCustomProperty() ( return this.customProperty; ) public static void main(String() args) ( ArrayList list = new ArrayList(); list.add(new CustomObject("Z")); list.add(new CustomObject("A")); list.add(new CustomObject("B")); list.add(new CustomObject("X")); list.add(new CustomObject("Aa")); list.sort((o1, o2) -> o1.getCustomProperty().compareTo(o2.getCustomProperty())); for (CustomObject obj : list) ( System.out.println(obj.getCustomProperty()); ) ) )

Výkon

 A Aa BXZ

Vo vyššie uvedenom programe sme definovali CustomObjecttriedu s Stringvlastnosťou customProperty.

Pridali sme tiež konštruktor, ktorý inicializuje vlastnosť, a funkciu getra, getCustomProperty()ktorá vracia customProperty.

V main()metóde sme vytvorili zoznam vlastných zoznamov objektov, inicializovaný 5 objektmi.

Na triedenie zoznamu s danou vlastnosťou použijeme sort()metódu zoznamu . sort()Metóda berie zoznam byť radené (konečná zotriedený zoznam je tiež rovnaká) a comparator.

V našom prípade je komparátorom lambda, ktorá

  • vezme dva objekty zo zoznamu o1 a o2,
  • porovnáva compareTo()metódu customProperty dvoch objektov ,
  • a nakoniec vráti kladné číslo, ak je vlastnosť o1 väčšia ako o2, záporná, ak je vlastnosť o1 menšia ako o2 a nula, ak sú rovnaké.

Na základe toho sa zoznam triedi podľa najmenšej vlastnosti po najväčšiu a ukladá sa späť do zoznamu.

Zaujímavé články...