Classificação de dados

1 resposta
C

Boa noite pessoal, preciso fazer um trabalho para a faculdade que é implementar dois métodos de classificação de dados, excluindo o da bolha. E eu tenho a seguinte classe:

public class Pessoa {
    private String nome;
    private int idade;
    private String cidade;    
    
    public Pessoa(){
        this("",0,"");
    }    
    
    public Pessoa(String nome, int idade, String cidade){
        this.setNome(nome);
        this.setIdade(idade);
        this.setCidade(cidade);
    }
        
    /* Set's */
    public void setNome(String nome){
        this.nome = nome;
    }
    
    public void setIdade(int idade){
        this.idade = idade;
    }
    
    public void setCidade(String cidade){
        this.cidade = cidade;
    }
    
    /* Get's */
    
    public String getNome() {
        return this.nome;
    }

    public int getIdade() {
        return this.idade;
    }

    public String getCidade() {
        return this.cidade;
    }
E a Classe Classifica que vai conter a lista de Pessoas e oredená-las.
public class Classifica {
    
    //Contém uma lista de pessoas.
    private ArrayList<Pessoa> listaPessoa;
    
    /* Construtor */
    public Classifica(){
        this.listaPessoa = new ArrayList<Pessoa>();        
    }
    
    /* Adiciona uma pessoa à lista */
    public void addPessoa(Pessoa pes){
        this.listaPessoa.add(pes);
       
    }

Eu fiz um arrayList de Pessoas, e preciso classificálas e lista-las de acordo com o campo escolhido, minha pergunta é a seguinte, se alguém pode me dar uma mão de pelo menos como começar, tipo como ordenar pelo campo nome por exemplo que é uma String, lembrando que eu não posso usar os métodos já existentes, tenho que fazer tudo manualmente..desde já agradeço ao pessoal que pode me ajudar...t++

1 Resposta

xandevieira
acho que o caminho é por aqui: Lembrando que é só o ponto de partida.
public static void main(String[] args) {
		List<String> nomes = new ArrayList<String>();
		List<String> nomes2 = new ArrayList<String>();
		nomes.add("Gionava Antoneli");
		nomes.add("Adriana Esteves");
		
		String tmp = nomes.get(0);
		String tmp1 = nomes.get(1);
		char c1 = tmp.charAt(0);
		char c2 = tmp1.charAt(0);
		if(c1==c2){
			nomes2.add(tmp);
			nomes2.add(tmp1);
		}else {
			nomes2.add(tmp1);
			nomes2.add(tmp);
		}
		for (Iterator iter = nomes.iterator(); iter.hasNext();) {
			String element = (String) iter.next();
			System.out.println(element);
		}
		System.out.println("\n");
		for (Iterator iter = nomes2.iterator(); iter.hasNext();) {
			String element = (String) iter.next();
			System.out.println(element);
		}
		
	}
Criado 30 de junho de 2008
Ultima resposta 1 de jul. de 2008
Respostas 1
Participantes 2