Problema 19
Metoda 1
import java.util.Comparator;
import java.util.SortedSet;
import java.util.TreeSet;
class Persoana{
private String nume;
private int varsta;
public Persoana(String nume, int varsta){
this.nume=nume;
this.varsta=varsta;
}
public String getNume() {
return nume;
}
public String toString(){
return "Nume persoana: "+nume+" Varsta: "+varsta;
}
}
class GrupPersoane{
private SortedSet<Persoana> grup=new TreeSet<>(Comparator.comparing(Persoana::getNume));
public void add(Persoana p){
grup.add(p);
}
public String toString(){
return grup.toString();
}
}
public class Main {
public static void main(String[] args) {
GrupPersoane grup=new GrupPersoane();
Persoana p1=new Persoana("B",20);
Persoana p2=new Persoana ("A",25);
Persoana p3=new Persoana("C",30);
grup.add(p1);
grup.add(p2);
grup.add(p3);
System.out.println(grup);
}
}
Metoda 2
Facem overrding la metoda "compareTo" din interfata Comparable
import java.util.SortedSet;
import java.util.TreeSet;
class Persoana implements Comparable{
private String nume;
private int varsta;
public Persoana(String nume, int varsta){
this.nume=nume;
this.varsta=varsta;
}
public String getNume() {
return nume;
}
public String toString(){
return "Nume persoana: "+nume+" Varsta: "+varsta;
}
public int compareTo(Object o) {
return this.nume.compareTo(((Persoana)o).getNume());
}
}
class GrupPersoane{
private SortedSet<Persoana> grup=new TreeSet<>();
public void add(Persoana p){
grup.add(p);
}
public String toString(){
return grup.toString();
}
}
public class Main {
public static void main(String[] args) {
GrupPersoane grup=new GrupPersoane();
Persoana p1=new Persoana("B",20);
Persoana p2=new Persoana ("A",25);
Persoana p3=new Persoana("C",30);
grup.add(p1);
grup.add(p2);
grup.add(p3);
System.out.println(grup);
}
}