/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
class Pessoa {
private int idade;
public Pessoa
(String nome,
int idade
) { this.nome = nome;
this.idade = idade;
}
return nome;
}
public void setNome
(String nome
) { this.nome = nome;
}
public int getIdade() {
return idade;
}
public void setIdade(int idade) {
this.idade = idade;
}
public static void main
(String[] args
) { ArrayList<Pessoa> lista = new ArrayList<>();
Pessoa p1, p2, p3, p4, p5;
p1 = new Pessoa("Willian", 20);
p2 = new Pessoa("Osvaldo", 30);
p3 = new Pessoa("Amanda", 23);
p4 = new Pessoa("Mario", 40);
p5 = new Pessoa("Allan", 35);
lista.add(p1);
lista.add(p2);
lista.add(p3);
lista.add(p4);
lista.add(p5);
for (Pessoa p : lista) {
System.
out.
println(p.
getNome() + " - " + p.
getIdade()); }
for (int i = 0; i < lista.size(); i++) {
for (int j = lista.size() - 1; j > i; j--) {
if (lista.get(i).getNome().compareToIgnoreCase(lista.get(j).getNome()) > 0) {
Pessoa tmp = lista.get(i);
lista.set(i, lista.get(j));
lista.set(j, tmp);
}
}
}
System.
out.
println("Lista ordenada"); for (Pessoa p : lista) {
System.
out.
println(p.
getNome() + " - " + p.
getIdade()); }
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgpjbGFzcyBQZXNzb2EgewoKICAgIHByaXZhdGUgU3RyaW5nIG5vbWU7CiAgICBwcml2YXRlIGludCBpZGFkZTsKCiAgICBwdWJsaWMgUGVzc29hKFN0cmluZyBub21lLCBpbnQgaWRhZGUpIHsKICAgICAgICB0aGlzLm5vbWUgPSBub21lOwogICAgICAgIHRoaXMuaWRhZGUgPSBpZGFkZTsKICAgIH0KCiAgICBwdWJsaWMgU3RyaW5nIGdldE5vbWUoKSB7CiAgICAgICAgcmV0dXJuIG5vbWU7CiAgICB9CgogICAgcHVibGljIHZvaWQgc2V0Tm9tZShTdHJpbmcgbm9tZSkgewogICAgICAgIHRoaXMubm9tZSA9IG5vbWU7CiAgICB9CgogICAgcHVibGljIGludCBnZXRJZGFkZSgpIHsKICAgICAgICByZXR1cm4gaWRhZGU7CiAgICB9CgogICAgcHVibGljIHZvaWQgc2V0SWRhZGUoaW50IGlkYWRlKSB7CiAgICAgICAgdGhpcy5pZGFkZSA9IGlkYWRlOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICBBcnJheUxpc3Q8UGVzc29hPiBsaXN0YSA9IG5ldyBBcnJheUxpc3Q8PigpOwoKICAgICAgICBQZXNzb2EgcDEsIHAyLCBwMywgcDQsIHA1OwoKICAgICAgICBwMSA9IG5ldyBQZXNzb2EoIldpbGxpYW4iLCAyMCk7CiAgICAgICAgcDIgPSBuZXcgUGVzc29hKCJPc3ZhbGRvIiwgMzApOwogICAgICAgIHAzID0gbmV3IFBlc3NvYSgiQW1hbmRhIiwgMjMpOwogICAgICAgIHA0ID0gbmV3IFBlc3NvYSgiTWFyaW8iLCA0MCk7CiAgICAgICAgcDUgPSBuZXcgUGVzc29hKCJBbGxhbiIsIDM1KTsKCiAgICAgICAgbGlzdGEuYWRkKHAxKTsKICAgICAgICBsaXN0YS5hZGQocDIpOwogICAgICAgIGxpc3RhLmFkZChwMyk7CiAgICAgICAgbGlzdGEuYWRkKHA0KTsKICAgICAgICBsaXN0YS5hZGQocDUpOwoKICAgICAgICBmb3IgKFBlc3NvYSBwIDogbGlzdGEpIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKHAuZ2V0Tm9tZSgpICsgIiAtICIgKyBwLmdldElkYWRlKCkpOwogICAgICAgIH0KCiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBsaXN0YS5zaXplKCk7IGkrKykgewoKICAgICAgICAgICAgZm9yIChpbnQgaiA9IGxpc3RhLnNpemUoKSAtIDE7IGogPiBpOyBqLS0pIHsKICAgICAgICAgICAgICAgIGlmIChsaXN0YS5nZXQoaSkuZ2V0Tm9tZSgpLmNvbXBhcmVUb0lnbm9yZUNhc2UobGlzdGEuZ2V0KGopLmdldE5vbWUoKSkgPiAwKSB7CgogICAgICAgICAgICAgICAgICAgIFBlc3NvYSB0bXAgPSBsaXN0YS5nZXQoaSk7CiAgICAgICAgICAgICAgICAgICAgbGlzdGEuc2V0KGksIGxpc3RhLmdldChqKSk7CiAgICAgICAgICAgICAgICAgICAgbGlzdGEuc2V0KGosIHRtcCk7CgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiTGlzdGEgb3JkZW5hZGEiKTsKICAgICAgICAgICAgICAgIGZvciAoUGVzc29hIHAgOiBsaXN0YSkgewogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4ocC5nZXROb21lKCkgKyAiIC0gIiArIHAuZ2V0SWRhZGUoKSk7CiAgICAgICAgfQogICAgfQp9