Java: Ordenar Objetos por dois campos

Published: 2019-08-04, Updated: 2019-08-04

A lógica é ordenar pelo primeiro (nome), se os dois registros tiverem o mesmo valor, aí sim compara o segundo

private static void order(List < Person > persons) {

	Collections.sort(persons, new Comparator() {

		public int compare(Object o1, Object o2) {

			String x1 = ((Person) o1).getName();
			String x2 = ((Person) o2).getName();
			int sComp = x1.compareTo(x2);

			if (sComp != 0) {
				return sComp;
			} else {
				Integer x1 = ((Person) o1).getAge();
				Integer x2 = ((Person) o2).getAge();
				return x1.compareTo(x2);
			}
		}
	});
}

Instalar nodejs em versões antigas ubuntu Ferramentas Online

Comments