Java-ohjelma lajittelemaan ArrayList mukautettuja objekteja omaisuuden mukaan

Tässä ohjelmassa opit lajittelemaan mukautettujen objektien taulukon niiden Java-ominaisuuden mukaan.

Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista Java-ohjelmointiaiheista:

  • Java-luokka ja objektit
  • Java ArrayList -luokka

Esimerkki: Lajittele mukautettujen objektien ArrayList omaisuuden mukaan

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

Tuotos

 A Aa BXZ

Edellä olevassa ohjelmassa olemme määrittäneet CustomObjectluokan, jolla on Stringominaisuus customProperty.

Olemme myös lisänneet rakentajan, joka alustaa ominaisuuden, ja getter-funktion, getCustomProperty()joka palauttaa customProperty-arvon.

Vuonna main()menetelmässä, olemme luoneet joukko luettelo räätälöityjä objekteja luettelon, alustetaan 5 esineitä.

Luettelon lajittelemiseksi annetulla ominaisuudella käytämme listan sort()menetelmää. sort()Menetelmä vie luettelo lajitellaan (lopullinen lajiteltua luettelo on myös sama) ja comparator.

Meidän tapauksessamme vertailija on lambda, joka

  • ottaa kaksi objektia luettelosta o1 ja o2,
  • vertaa kahden objektin customProperty- compareTo()menetelmää,
  • ja palauttaa lopuksi positiivisen luvun, jos o1: n ominaisuus on suurempi kuin o2, negatiivinen, jos o1: n ominaisuus on pienempi kuin o2: n, ja nolla, jos ne ovat yhtä suuret.

Tämän perusteella luettelo lajitellaan vähimmäisominaisuuden perusteella suurimpaan ja tallennetaan takaisin luetteloon.

Mielenkiintoisia artikkeleita...