
ordenar un arraylist
Publicado por raquel (1 intervención) el 04/09/2016 18:52:11
buenas tardes
estoy programando en java 1.8 y tengo el siguiente problema:
el programa debe leer un archivo de entrada y obtener la cantidad de palabras que hay en el texto
esa parte del programa lo logre hacer. mi problema es cuando hay que ordenar la informacion
este es el archivo con el texto:
Esta es la primera linea
Esta es la segunda linea
Esta es la linea final
el resultado hasta ahora de mi programa es este:
primera=1, segunda=1, la=3, final=1, Esta=3, es=3, linea=3
mi problema es que tengo que lograr que el resultado sea esto:
la=3,
Esta=3,
es=3
linea=3
primera=1,
segunda=1,
final=1,
en simples palabras, lo que quiero es dejar el array ordenado por la cantidad de veces que aparece la palabra
el problema es que no estoy pudiendo hacer esa parte.
Este es el codigo que escribi hasta ahora:
public void methodCounting(String countingWords){
HashMap map = new HashMap(); // word ---> # of occurences
// read each word from the file
try {
Scanner in = new Scanner(new File(countingWords));
while (in.hasNext()){
String word = in.next();
if(map.containsKey(word)){
// if we have already seen this word before,
//increment its count by one
Integer count = (Integer)map.get(word);
map.put(word,new Integer(count.intValue()+1));
}else {
// we haven't seen this word, so add it with count of 1
map.put(word,new Integer(1));
}
}
System.out.println("Primera vuelta " + map);
}
alguien podria ayudarme a ordenar el hashmap "map" por favor??
Saludos Cordiales
estoy programando en java 1.8 y tengo el siguiente problema:
el programa debe leer un archivo de entrada y obtener la cantidad de palabras que hay en el texto
esa parte del programa lo logre hacer. mi problema es cuando hay que ordenar la informacion
este es el archivo con el texto:
Esta es la primera linea
Esta es la segunda linea
Esta es la linea final
el resultado hasta ahora de mi programa es este:
primera=1, segunda=1, la=3, final=1, Esta=3, es=3, linea=3
mi problema es que tengo que lograr que el resultado sea esto:
la=3,
Esta=3,
es=3
linea=3
primera=1,
segunda=1,
final=1,
en simples palabras, lo que quiero es dejar el array ordenado por la cantidad de veces que aparece la palabra
el problema es que no estoy pudiendo hacer esa parte.
Este es el codigo que escribi hasta ahora:
public void methodCounting(String countingWords){
HashMap map = new HashMap(); // word ---> # of occurences
// read each word from the file
try {
Scanner in = new Scanner(new File(countingWords));
while (in.hasNext()){
String word = in.next();
if(map.containsKey(word)){
// if we have already seen this word before,
//increment its count by one
Integer count = (Integer)map.get(word);
map.put(word,new Integer(count.intValue()+1));
}else {
// we haven't seen this word, so add it with count of 1
map.put(word,new Integer(1));
}
}
System.out.println("Primera vuelta " + map);
}
alguien podria ayudarme a ordenar el hashmap "map" por favor??
Saludos Cordiales
Valora esta pregunta


0