O exemplo deste artigo informa o método comum de objetos de lista em Java. Compartilhe para todos para sua referência. A análise específica é a seguinte:
Na lista de lista detectada no banco de dados, diferentes campos são frequentemente classificados. Se não estiver perguntando no banco de dados, a classificação diretamente na primeira lista encontrada melhorará, sem dúvida, o desempenho do sistema.
Enquanto os primeiros resultados detectados forem armazenados na sessão, você poderá classificar a lista. Geralmente, a classificação da lista pode ser usada em coleções.Sort (Lista), mas se a lista contiver um objeto, esse método ainda não será possível. Então, como você classifica? Se houver um objeto UserInfo, ele contém o seguinte campo:
Private java.lang.integer UserID;
Então agora você precisa classificar o UserID, você pode usar o seguinte método:
Coleções.sort (list, novo comparador () {public int compare (objeto a, objeto b) {int one = ((ordem) a) .getUserId (); int dois = ((ordem) b) .getUserId (); Return um-dois;}});
Dessa forma, se você deseja classificar cada campo da lista UserInfo, ele é escrito por um segmento como mostrado acima em cada campo? Esse não é o resultado que precisamos. Escrever um programa é cada vez mais refinado e você não pode escrever cada vez mais redundante. Você pode escrever um método geral? A resposta é sim, mas antes de tudo, devemos resolver as três perguntas a seguir:
1. Pode usar tipo genérico;
2. Sendo um método de comparação comum, como compareto;
3. Existe um método pan -panway como métodos genéricos e genéricos?
O primeiro problema pode ser resolvido. A terceira edição não possui método pan -panway que precisamos. Mas podemos alterá -lo e usar os métodos getMethod e invocar para eliminar dinamicamente os métodos. O código é o seguinte:
Public class Sortlist <E> {public void sort (lista <e> List, método final da string, classificação final da string) {Coleções.sort (list, new Comparator () {public int compare (o. bky a, objeto b) { int ret = 0; tente {método m1 = (e) a) .getclass (). igual a (class) // o invertido (((((((e) b), null) .tring (). compareto (((e) a), null) .tring ()) = m1.invoke ((((e) a), null) .Tring (). Compareto (m2.invoke ((e) b), null) .Tring ();} catch (noschmethodException ne) {System.out. println (ne);} catch (ilegalAccessException ie) {System.out.println (ie);
Olhando para o código acima, resolvemos com sucesso os três problemas acima e adicionamos a ordem de vantagem. Não há objetos e tipos específicos no código e já é versátil. : Por exemplo, "por exemplo" getUserID ". Você pode usar o código fornecido abaixo para testar:
//Test.javapacke teste; = novo ArrayList <Userinfo> (); 11)); out.println ("------- a sequência original ------------------------------------- ----------------------- "" "); } // Ligue para a classe universal Sortlist <SuserInfo> Sortlist = new Sortlist <Superinfo> (); ---------------------------------------- "); para (UserInfo User: List) {System.out.println (user.toString ());} // Pressione o nome de usuário SortList.sort (List, "getUsername", null); -------------------------------------------------------- -------------------------------------------------------- --- "););} // SortList.Sort (List," getBithDateST ", null); System.out.println (" --------------------- ------------- ------------------------ "); para (UserInfo User: List) { System.out.println (user.toString ());}}}
Os resultados dos testes são os seguintes:
------- Sequência original ----------------------------------------- -------------------------------------------------------- -------------------------------------------------------- -------------------------------------------------------- ------------------------------ 3; 10-01; 3 -------- 2; -------------------------------------------------------- -------------------------------------------------------- ----------------------------------- -------- 2; -01;
Nota: a classificação da data é primeiro transformada pelo formato, caso contrário, não haverá resultado correto.
Espera -se que este artigo seja útil para o design do programa Java de todos.