• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Sortowanie listy po nazwie klasy

Cloud VPS
0 głosów
213 wizyt
pytanie zadane 8 maja 2017 w Java przez Lukasz_B Nowicjusz (170 p.)

Witam

Mam listę która zbiera klasy różnego typu, i chciałbym ją posortować według nazw klas jakie zawiera przy pomocy Comparatora.

Przykładowy kod:

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Draw extends Thing {

	private List<Thing> things;

	public Draw() {
		things = new ArrayList<>();

	}
    public void add(Thing t) {
		things.add(t);
	}

Jest to lista rysująca rzeczy. I należą do niej np.:


import app.model.Draw;

public class Application {

    public static void main(String[] args) {
        Draw picture = new Draw();
        picture.add(new Human("Mirek",9,185));
        picture.add(new Building("Home",12,"ul.Mickiewicza 2"));
        picture.add(new Animal("Kot",12);

Wiem jak posortować po zmiennych danej klasy czyli np Home, Kot, Mirek, ale nie wiem jak to zrobić żeby było:

Animal, Building, Human

1 odpowiedź

+1 głos
odpowiedź 8 maja 2017 przez Mateusz51 Nałogowiec (28,180 p.)
wybrane 8 maja 2017 przez Lukasz_B
 
Najlepsza
Muszisz napisać komparator który bedzie porównywał nazwy  klasy obiektu. Aby uzyskać nazwe klasy wystarczy na obiekcie wykonać getClass().getName()
komentarz 8 maja 2017 przez Lukasz_B Nowicjusz (170 p.)
Wszystko jasne, dzięki :)

Podobne pytania

0 głosów
1 odpowiedź 189 wizyt
pytanie zadane 28 maja 2016 w Java przez nostressghost Nowicjusz (240 p.)
0 głosów
0 odpowiedzi 185 wizyt
0 głosów
4 odpowiedzi 1,527 wizyt
pytanie zadane 27 października 2017 w Java przez olgak96 Nowicjusz (200 p.)

93,454 zapytań

142,448 odpowiedzi

322,717 komentarzy

62,832 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...