Wpis z mikrobloga

Hej :)
Czy ma ktoś pomysł jak najszybciej posortować tablicę obiektów (ArrayList) po konkretnym atrybucie (float) w Javie? Szukałem i próbowałem z implementacją interfejsu Comparable i nadpisaniem metody compareTo(), ale niestety tam muszą być inty.

#java #programowanie
  • 4
@ofkoz: list.sort(Comparator.comparing(o -> o.getFloatAttribute()));
EDIT: Nie wiem czy dobrze rozumiem to co napisałeś, ale wydaje mi się, że nie do końca łapiesz ideę compareTo().
Zgodnie z dokumentacją: KLIK, metoda compareTo przyjmuje obiekt typu T (czyli taki jaki określisz), następnie wykonuje odpowiednie porównania i ZWRACA wartość typu int.
Wartości zwrócone to (znów za dokumentacją), to:
"a negative integer, zero, or a positive integer as this object is less than, equal
@ofkoz:

public TwojaKlasa implements Comparable - w tym wypadku ten typ "T" to będzie typ Twojej klasy.

"a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object."

- Zwraca ujemną wartość jeśli obiekt jest mniejszy od obiektu z którym porównujemy
- Zwraca "0" jeśli obiekty są sobie równe
- Zwraca wartość dodatnią, jeżeli obiekt jest większy od obiektu z