Czesc,
mam plik w ktorym jeden wiersz to nazwisko i imie oddzielone spacją. Ten plik wczytują do ArrayList a nastepnie sortuje pod względem długości nazwiska. I z tym ostatnim mam problem,myślalem że ten comparator ktory napisala zadziala, ale on sortuje tylko alfabetycznie ;/ Użyłem metody split zeby oddzielic nazwisko od imienia a nastepnie porownac same nazwiska
public class Main {
public static void main(String[] args) throws IOException {
Scanner odczyt=new Scanner(Paths.get("studenci.txt"));
ArrayList<String> lista = new ArrayList<String>();
while( odczyt.hasNextLine() )
{
lista.add(odczyt.nextLine());
}
Collections.sort(lista, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
String[] podziel=o1.split(" ");
String p1=podziel[0];
String[] podziel2=o1.split(" ");
String p2=podziel2[0];
if(p1.length()>p2.length())
return String.valueOf(o1).compareTo(o2);
else
return String.valueOf(o2).compareTo(o1);
}
} );
for(String x:lista)
System.out.println(x);
}
}
Szukam rady jak to poprawic zeby sortowalo po dlugosci nazwiska :)