Program Java za razvrščanje ArrayList predmetov po meri po lastnostih

V tem programu se boste naučili razvrščati seznam elementov po meri glede na njihovo lastnost v Javi.

Če želite razumeti ta primer, morate poznati naslednje programske teme Java:

  • Razred Java in predmeti
  • Razred Java ArrayList

Primer: Razvrsti ArrayList predmetov po meri po lastnostih

 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()); ) ) )

Izhod

 A Aa BXZ

V zgornjem programu smo definirali CustomObjectrazred z Stringlastnostjo customProperty.

Dodali smo tudi konstruktor, ki inicializira lastnost, in funkcijo getter, getCustomProperty()ki vrne customProperty.

V main()metodi smo ustvarili seznam nizov seznama predmetov po meri, inicializiran s 5 predmeti.

Za razvrščanje seznama z dano lastnostjo uporabimo sort()metodo list. sort()Metoda je seznam lahko razvrsti (končna sortirani seznam je tudi enak) in comparator.

V našem primeru je primerjalnik lambda, ki

  • vzame dva predmeta s seznama o1 in o2,
  • primerja customProperty dveh predmetov z uporabo compareTo()metode,
  • in nazadnje vrne pozitivno število, če je lastnost o1 večja od lastnosti o2, negativna, če je lastnost o1 manjša od lastnosti o2, in nič, če so enake.

Na podlagi tega je seznam razvrščen glede na najmanj lastnosti do največjega in shranjen nazaj na seznam.

Zanimive Članki...