Tenho minha Lista:
List equipes = new ArrayList();
como eu posso ordenar a List equipes por numCampeonatosBrasileiros ??
o resultado ja sabemos: Flamengo e São Paulo vão ficar no topo rsrsrs…
mas serio, eu to ha um tempão tentando fazer isso e tenho que comitar essa implementação ainda hoje…
Voce pode usar o metodo sort() Collections.sort(list);
nem lembro se eh assim msm…
:?
Rage
Kra, que eu saiba, a List já ordena automaticamente os índices quando vc chama o método add()…
fabim
Ao usar Collections.sort( seuObjeto ), vai acontecer a ordenação natural… pra objetos String sabemos que é a ordem alfabetica, pra um objeto Number por exemplo sabemos que e a ordem crescente… mas, e pra objetos TIMEDEFUTEBOL? qual é a ordem natural?
O Java nao sabe, entao vc vai te q dizer a ele… para isso, faça seu objeto implementar a interface Comparable, que vai te forçar a implementar o metodo compareTo( Object outroObjeto )… entao nesse metodo vc define que um objeto e maior do q o outro se seu atributo X tem valor maior…
Ou… vc pode criar varios “Comparadores” (Comparator), e entao usar o metodo sobrecarregado Collecions.sort( objeto, comparador ) pra poder comparar seu objeto de varias maneiras possiveis.
T
thingol1 like
Crie um Comparator.
E a propósito, classes são nomeadas em “Pascal Case”, ou seja: TimeDeFutebol.
List preserva a ordem de inserção; mas ele quer que fiquem ordenados pelo número de campeonatos brasileiros, que é uma coisa diferente.
khichfy
to travado…
olha so o que eu tenho
publicclassBrokerConfigActionextendsAdminAction{...privateList<SinacorPortfolio>portfoliosViewDefault;...//lancei essa innerclasspublicclassComparableSPimplementsComparator<SinacorPortfolio>{@Overridepublicintcompare(SinacorPortfolioo1,SinacorPortfolioo2){// return0;}}...//populei minha listafor(SinacorPortfoliosp:portfolios){portfoliosViewDefault.add(sp);}// e agora eu tenho que ordena-la por id//entao agora estou pensando nisso...ComparableSPc=newComparableSP();Collections.sort(portfoliosViewDefault,c);}