Ol\u00e1 Amigos, hoje vamos fazer a ordena\u00e7\u00e3o de uma lista de objetos alunos. Para realizar a ordena\u00e7\u00e3o de uma lista de String existe uma ordem natural de ordena\u00e7\u00e3o que \u00e9 a ordem alfab\u00e9tica. J\u00e1 para uma lista num\u00e9rica temos a ordem crescente ou decrescente dos n\u00fameros. Em contra partida quando temos um objeto com aluno que possui nome, id e telefone o Java n\u00e3o sabe a ordena\u00e7\u00e3o que deve ser realizada. Para isso criamos um exemplo que mostrar\u00e1 qual a melhor forma de voc\u00ea fazer a ordena\u00e7\u00e3o da lista?<\/p>\n
<\/p>\n
\nPrimeiro criaremos a classe Aluno que implementa a Interface Comparable. Isto significa que precisaremos implementar um m\u00e9todo compareTo() onde definiremos por qual campo da entidade Aluno
\nser\u00e1 realizada a ordena\u00e7\u00e3o. Em nosso exemplo utilizaremos o campos Nome.<\/p>\n
\r\npackage br.com.feltex.jse.colecao;\r\n\r\nclass Aluno implements Comparable {\r\n\r\n\tprivate String nome;\r\n\r\n\tprivate int id;\r\n\r\n\tprivate String telefone;\r\n\r\n\tpublic Aluno(String nome) {\r\n\t\tthis.nome = nome;\r\n\t}\r\n\r\n\tpublic int compareTo(Aluno o) {\r\n\t\treturn nome.compareTo(o.getNome());\r\n\t}\r\n\r\n\tpublic int getId() {\r\n\t\treturn id;\r\n\t}\r\n\r\n\tpublic String getNome() {\r\n\t\treturn nome;\r\n\t}\r\n\r\n\tpublic String getTelefone() {\r\n\t\treturn telefone;\r\n\t}\r\n\r\n\tpublic void setId(int id) {\r\n\t\tthis.id = id;\r\n\t}\r\n\r\n\tpublic void setNome(String nome) {\r\n\t\tthis.nome = nome;\r\n\t}\r\n\r\n\tpublic void setTelefone(String telefone) {\r\n\t\tthis.telefone = telefone;\r\n\t}\r\n\r\n\tpublic String toString() {\r\n\t\treturn \"Aluno [nome=\" + nome + \", id=\" + id + \", telefone=\" + telefone\r\n\t\t\t\t+ \"]\";\r\n\t}\r\n}\r\n<\/pre>\n Em nossa classe MinhaListaArrayListObjeto utilizamos a classe Aluno em uma lista e logo em seguida fazemos a ordena\u00e7\u00e3o natural.<\/p>\n
\r\npackage br.com.feltex.jse.colecao;\r\n\r\nimport java.util.ArrayList;\r\nimport java.util.Collections;\r\nimport java.util.List;\r\n\r\npublic class MinhaListaArrayListObjeto {\r\n\r\n\t\/*\r\n\t * Comparar objetos\r\n\t *\/\r\n\tpublic static void main(String[] args) {\r\n\t\tList lista = new ArrayList<>();\r\n\t\tlista.add(new Aluno(\"Maria\"));\r\n\t\tlista.add(new Aluno(\"Ana\"));\r\n\t\tlista.add(new Aluno(\"Joana\"));\r\n\t\tlista.add(new Aluno(\"Fernanda\"));\r\n\t\tlista.add(new Aluno(\"Tatiana\"));\r\n\r\n\t\tSystem.out.println(\"Lista N\u00e3o Ordenada\");\r\n\t\tfor (Aluno item : lista) {\r\n\t\t\tSystem.out.print(item.getNome() + \" \");\r\n\t\t}\r\n\t\t\r\n\r\n\t\t\/\/ Realiza a ordena\u00e7\u00e3o dos itens\r\n\t\tCollections.sort(lista);\r\n\t\tSystem.out.println(\"Lista Ordenada\");\r\n\t\tfor (Aluno item : lista) {\r\n\t\t\tSystem.out.print(item.getNome()+ \" \");\r\n\t\t}\t\t\r\n\t}\r\n}\r\n<\/pre>\n A sa\u00edda ser\u00e1 realizada conforme o exemplo abaixo.<\/p>\n
\r\nLista N\u00e3o Ordenada\r\nMaria Ana Joana Fernanda Tatiana \r\nLista Ordenada\r\nAna Fernanda Joana Maria Tatiana \r\n<\/pre>\nLinks relacionados<\/H2>
\nCole\u00e7\u00f5es em Java<\/a>
\n<\/a>
\nComo fazer ordena\u00e7\u00e3o de uma lista de String com acentos em Java<\/a><\/p>\nN\u00e3o esque\u00e7a de curtir este post nas rede sociais. D\u00ea a sua contribui\u00e7\u00e3o social e ajude o autor:<\/h2>\n","protected":false},"excerpt":{"rendered":"
Ordena\u00e7\u00e3o de Lista de objetos em Java Ol\u00e1 Amigos, hoje vamos fazer a ordena\u00e7\u00e3o de uma lista de objetos alunos. Para realizar a ordena\u00e7\u00e3o de uma lista de String existe uma ordem natural de ordena\u00e7\u00e3o que \u00e9 a ordem alfab\u00e9tica. …<\/p>\n