Estou com um problema de ordenar de forma correta meus ‘números’. vou dar um exemplo de código:
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
public class calcular {
public static void main(String[] args) {
List<String> lista = new ArrayList<String>();
lista.add("10000");
lista.add("20000");
lista.add("30000");
lista.add("40000");
lista.add("50000");
lista.add("60000");
lista.add("70000");
lista.add("80000");
lista.add("90000");
lista.add("100000");
Set ordenado = new TreeSet(lista);
System.out.println(ordenado);
}
}
Então, a saída acho que todos já sabem: [10000, 100000, 20000, 30000, 40000, 50000, 60000, 70000, 80000, 90000]
A ajuda que preciso é: Como colocar este 100000 na ultima posição que é onde ele deveria realmente estar de fato? E sim os números não podem ser em int =/
public static void main(String[] args) {
List<String> lista = new ArrayList<String>();
lista.add("10000");
lista.add("20000");
lista.add("30000");
lista.add("40000");
lista.add("50000");
lista.add("60000");
lista.add("70000");
lista.add("80000");
lista.add("100000");
lista.add("90000");
// COnvertendo lista para inteiros
List<Integer> listaInteiros = new ArrayList<Integer>();
for (int i = 0; i < lista.size(); i++) {
listaInteiros.add(Integer.parseInt(lista.get(i)));
}
//Inteiros ordenados
Set ordenaInteiros = new TreeSet(listaInteiros);
System.out.println(ordenaInteiros);
//Convertendo lista de inteiros ordenadas corretamente para string
List<String> listaStringsOrdenadas = new ArrayList<String>();
for (int i = 0; i< ordenaInteiros.size(); i++)
{
listaStringsOrdenadas.add(ordenaInteiros.toString());
}
System.out.println(listaStringsOrdenadas);
}
}[/code]
O que eu fiz de errado?
essa minha última saída está me dando uma lista gigante
[code]
Iterator it1 = listaStringsOrdenadas.iterator(); //cannot convert from Iterator<String> to HTMLDocument.Iterator
while(it1.hasNext()){ //is undefined for the type HTMLDocument.Iterator
Integer item = (Integer) it1.next(); //Cannot cast from void to Integer
listaStringsOrdenadas.add(String.valueOf(item));
}
for (String item : listaStringsOrdenadas) {
System.out.println(item);
} [/code]
[code]
Iterator it1 = listaStringsOrdenadas.iterator(); //cannot convert from Iterator<String> to HTMLDocument.Iterator
while(it1.hasNext()){ //is undefined for the type HTMLDocument.Iterator
Integer item = (Integer) it1.next(); //Cannot cast from void to Integer
listaStringsOrdenadas.add(String.valueOf(item));
}
for (String item : listaStringsOrdenadas) {
System.out.println(item);
} [/code][/quote]
[code]
Iterator it1 = listaStringsOrdenadas.iterator(); //cannot convert from Iterator<String> to HTMLDocument.Iterator
while(it1.hasNext()){ //is undefined for the type HTMLDocument.Iterator
Integer item = (Integer) it1.next(); //Cannot cast from void to Integer
listaStringsOrdenadas.add(String.valueOf(item));
}
for (String item : listaStringsOrdenadas) {
System.out.println(item);
} [/code][/quote]
public static void main(String[] args) throws Exception{
List<String> lista = new ArrayList<String>();
lista.add("10000");
lista.add("20000");
lista.add("30000");
lista.add("40000");
lista.add("50000");
lista.add("60000");
lista.add("70000");
lista.add("80000");
lista.add("90000");
lista.add("100000");
Collections.sort(lista, new Comparator<String>(){
@Override
public int compare(String o1, String o2){
Long one = Long.parseLong(o1);
Long other = Long.parseLong(o2);
return one.compareTo(other);
}
});
System.out.println(lista);
}
public static void main(String[] args) throws Exception{
List<String> lista = new ArrayList<String>();
lista.add("10000");
lista.add("20000");
lista.add("30000");
lista.add("40000");
lista.add("50000");
lista.add("60000");
lista.add("70000");
lista.add("80000");
lista.add("90000");
lista.add("100000");
Collections.sort(lista, new Comparator<String>(){
@Override
public int compare(String o1, String o2){
Long one = Long.parseLong(o1);
Long other = Long.parseLong(o2);
return one.compareTo(other);
}
});
System.out.println(lista);
}