Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Pasar de String[] a ArrayList<Integer>

Estas en el tema de Pasar de String[] a ArrayList<Integer> en el foro de Java en Foros del Web. Hola a todos, sé que es la mayor simpleza del mundo, pero no consigo pasar de un String[] rellenado con una cadena a la que ...
  #1 (permalink)  
Antiguo 02/04/2015, 11:53
 
Fecha de Ingreso: febrero-2013
Mensajes: 25
Antigüedad: 11 años, 9 meses
Puntos: 2
Pasar de String[] a ArrayList<Integer>

Hola a todos, sé que es la mayor simpleza del mundo, pero no consigo pasar de un String[] rellenado con una cadena a la que le hago split a un ArrayList.

Mi problema es que se come el ultimo elemento del String[].

Este es mi código:

Código:
    ArrayList<Integer> servs = new ArrayList<Integer>();
    String[] aux = result.split(";");
    servs.clear();
    for (int i =0; i< aux.length; i++)
    {		        		
           servs.add( Integer.parseInt(aux[i]) );		        		
    }
Si result tiene 2 4 y 7, mete el 2 y el 4, y el 7 no ...

Muchas gracias
  #2 (permalink)  
Antiguo 02/04/2015, 12:50
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 10 años, 3 meses
Puntos: 182
Respuesta: Pasar de String[] a ArrayList<Integer>

Buenas,

servs.clear no sirve para nada en este caso.

Puedes imprimir el contenido de result antes de hacer el split y postearnos la salida?

Código Java:
Ver original
  1. ArrayList<Integer> servs = new ArrayList<Integer>();
  2. System.out.println(result);
  3. String[] aux = result.split(";");
  4. [...]


Un saludo
__________________
If to err is human, then programmers are the most human of us
  #3 (permalink)  
Antiguo 02/04/2015, 12:51
 
Fecha de Ingreso: octubre-2014
Ubicación: Lima
Mensajes: 74
Antigüedad: 10 años, 1 mes
Puntos: 1
Respuesta: Pasar de String[] a ArrayList<Integer>

Hola. Debería funcionar si la cadena result contiene el siguiente patrón: "2;4;7"
En todo caso, debes examinar qué es lo exactamente contiene.
  #4 (permalink)  
Antiguo 05/04/2015, 19:41
 
Fecha de Ingreso: marzo-2015
Mensajes: 45
Antigüedad: 9 años, 7 meses
Puntos: 2
Respuesta: Pasar de String[] a ArrayList<Integer>

Hola...

Porque no intentas agregando el signo igual en tu ciclo for, quedando de la siguiente manera...

Código Java:
Ver original
  1. for (int i = 0; i <= aux.length; i++){                     
  2.     servs.add( Integer.parseInt(aux[i]));                      
  3. }

Ahí te debería imprimir incluso el último valor. Suerte!
  #5 (permalink)  
Antiguo 06/04/2015, 10:30
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 10 años, 3 meses
Puntos: 182
Respuesta: Pasar de String[] a ArrayList<Integer>

Cita:
Porque no intentas agregando el signo igual en tu ciclo for
Si hace eso se producirá una excepción outofbounds, ya que el índice de los arrays comienza en 0.

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #6 (permalink)  
Antiguo 06/04/2015, 10:40
 
Fecha de Ingreso: marzo-2015
Mensajes: 45
Antigüedad: 9 años, 7 meses
Puntos: 2
Respuesta: Pasar de String[] a ArrayList<Integer>

Cita:
Si hace eso se producirá una excepción outofbounds, ya que el índice de los arrays comienza en 0.
Es correcto, Profesor_Falken, lamento la respuesta incorrecta.

Porque no intentas con lo siguiente, ya que a mi me funciono a la perfección, y me mostró todos los datos correctamente.

Código Java:
Ver original
  1. String cadena = "2;4;7";
  2. ArrayList<Integer> servs = new ArrayList<Integer>();
  3. String[] aux = cadena.split(";");
  4. for (int i = 0; i < aux.length; i++)
  5. {
  6.     servs.add(Integer.parseInt(aux[i]));                       
  7. }
  8.  
  9. for (int i = 0; i < servs.size(); i++){
  10.     System.out.println(servs.get(i));
  11. }

Simule el result que tienes en tu código original por una variable sencilla con tu formato especificado.

Cualquier duda y/o comentario, aquí andamos. Suerte!
  #7 (permalink)  
Antiguo 06/04/2015, 13:34
 
Fecha de Ingreso: febrero-2013
Mensajes: 25
Antigüedad: 11 años, 9 meses
Puntos: 2
Respuesta: Pasar de String[] a ArrayList<Integer>

Gracias a todos por vuestras respuestas, el código está bien, mi problema era que el string tenia el caracer final de cadena, he utilizado el .trim()

Etiquetas: arraylist
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:00.