Јава програм за сортирање низа низова прилагођених објеката по својству

У овом програму ћете научити да сортирате попис прилагођених објеката према задатом својству у Јави.

Да бисте разумели овај пример, требало би да имате знање о следећим темама програмирања Јава:

  • Јава класа и објекти
  • Класа Јава АрраиЛист

Пример: Сортирај листу низова прилагођених објеката по својству

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

Оутпут

 А Аа БКСЗ

У горе наведеном програму дефинисали смо CustomObjectкласу са Stringсвојством цустомПроперти.

Такође смо додали конструктор који иницијализује својство и геттер функцију getCustomProperty()која враћа цустомПроперти.

У main()методи смо креирали листу низова пописа прилагођених објеката, иницијализованих са 5 објеката.

За сортирање листе са датим својством користимо sort()методу листе . sort()Метод узима листу да се сортирају (коначна сортирана листа је иста) и comparator.

У нашем случају, упоређивач је ламбда која

  • узима два објекта са листе о1 и о2,
  • упоређује цустомПроперти два објекта користећи compareTo()методу,
  • и на крају враћа позитиван број ако је својство о1 веће од о2, негативно ако је својство о1 мање од о2 и нула ако су једнаке.

На основу овога, листа се сортира на основу најмање својства до највеће и чува назад на листи.

Занимљиви Чланци...