Tak to powinno wyglądać?

0

Chcę posortować dane według roku, jest jakiś prostszy sposób? Nie chodzi mi jedynie o algorytm sortowania.

void wyswietlPosortowane(){
		//ksiażki to tablica obiektów z klasy "Ksiazka"
		java.util.List<Ksiazka> nowaTablica=Arrays.asList(ksiazki);
		System.out.println("Sortowanie według roku");
		System.out.println("Inne sortowania wyglądają tak samo?");
		
		for(int i=0; i<nowaTablica.size(); i++){
			for(int j=i; j<nowaTablica.size(); j++){
				if(nowaTablica.get(i).rok<nowaTablica.get(j).rok){
					int pomocnicza=nowaTablica.get(i).rok;
					nowaTablica.get(i).rok=nowaTablica.get(j).rok;
					nowaTablica.get(j).rok=pomocnicza;
				}
			}
		}
		
		
	}

		for(int i=0; i<nowaTablica.size(); i++){
			infoKsiazka(nowaTablica.get(i).id);
		}

1

java.util.Collectuons. sort (), tylko zaimplementuj kompa rator w klasie, której obiekty chcesz sortować.

@CountZero był szybszy ;)

1
nowaTablica.sort(Comparator.comparing(Ksiazka::getRok))

przy założeniu, że getRok to metoda zwracająca rok obiektu Ksiazka.

0

Niestety, nie zastosowałem getterów i setterów, jest jakiś sposób, żeby w Eclipsie automatycznie się wytworzyły, czy muszę klepać sam?

2
krzysiu1998v13 napisał(a):

Niestety, nie zastosowałem getterów i setterów, jest jakiś sposób, żeby w Eclipsie automatycznie się wytworzyły, czy muszę klepać sam?

public int getRok(){
    return this.rok;
}

no na prawde, hardcoding :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1