2011-10-10 79 views
5

Quiero hacer una aplicaciones que necesitan para convertir ArrayList<String>[] a ArrayList<Integer>[], también utilicé esto:Convierte Arraylist <String> a un ArrayList <Integer> o matriz de enteros

ArrayList<String>[] strArrayList; 
int ArrayRes = (int) strArrayList[]; 

pero este código me sale un error, alguien puede ayudarme ?

Cualquier sugerencia sería apreciar

+0

¿Cómo desea convertir la matriz de un ArrayList de cadena a un solo int? La pregunta es vaga – HashimR

+0

Ali Ghanei, ¿quieres analizar el arraylist de cadenas en un arrays entero? ¿Simplemente estás preguntando cómo convertir todo el valor de cadena de tu arraylist en int value? –

+1

@HashimR A: La pregunta no es vaga por la forma en que fue muy clara, solo le pregunté mi problema. –

Respuesta

-7

iterador de la lista y analizar por enteros:

(WARN: no probado)

ArrayList<String> strArrayList; 
int[] ArrayRes = new int[strArrayList.size()]; 

int i = 0; 
for (String s : strArrayList) 
{ 
    ArrayRes[i++] = Integer.parseInt(s); 
} 

Luego, puede convertirlos en un solo valor int en función de cómo quieras concatenarlos.

+0

Está pidiendo una conversión de ArrayList a int no int [] –

0

Está tratando de convertir una matriz de objetos ArrayList en un int. Por supuesto, obtienes un error.

Antes que nada, quiere una simple vieja ArrayList, no una matriz de ArrayList s.

En segundo lugar, utiliza Integer.parseInt() para convertir objetos String en int s. int es un tipo primitivo, no es un tipo de clase, y ciertamente no es una superclase de String.

-1

Puedes lanzar lista de cadenas a enteros como esto:

ArrayList<Integer> numbers = new ArrayList<Integer>(); 

for(int i = 0; i < strArrayList.size(); i++) { 
    numbers.add(Integer.parseInt(strArrayList.get(i))); 
} 
+0

strArrayList [i] le daría un tipo 'ArrayList', que no es un argumento válido para' Integer.parseInt' – bdares

+0

ArrayList ???? Estás seguro ?? Creo que será ArrayList en lugar de ArrayList

5

¿Qué tal este

import java.util.ArrayList; 
    import java.util.Arrays; 
    import java.util.List; 

    public class sample7 
    { 
     public static void main(String[] args) 
     { 

      ArrayList<String> strArrayList = new ArrayList<String>(); 
      strArrayList.add("1"); 
      strArrayList.add("11"); 
      strArrayList.add("111"); 
      strArrayList.add("12343"); 
      strArrayList.add("18475"); 
      List<Integer> newList = new ArrayList<Integer>(strArrayList.size()) ; 
      for (String myInt : strArrayList) 
      { 
       newList.add(Integer.valueOf(myInt)); 
      } 
      System.out.println(newList); 
     } 

    } 
11

definir un método que convertirá todas las Valor de la cadena de ArrayList en número entero.

private ArrayList<Integer> getIntegerArray(ArrayList<String> stringArray) { 
     ArrayList<Integer> result = new ArrayList<Integer>(); 
     for(String stringValue : stringArray) { 
      try { 
       //Convert String to Integer, and store it into integer array list. 
       result.add(Integer.parseInt(stringValue)); 
      } catch(NumberFormatException nfe) { 
       //System.out.println("Could not parse " + nfe); 
       Log.w("NumberFormat", "Parsing failed! " + stringValue + " can not be an integer"); 
      } 
     }  
     return result; 
    } 

y simplemente llamar a ese método, como

ArrayList<Integer> resultList = getIntegerArray(strArrayList); //strArrayList is a collection of Strings as you defined. 

feliz de codificación :)

+0

Gracias, está funcionando también. –

+0

Use 'result.add (Integer.parseInt (stringValue.trim());' para evitar espacios en blanco que causen innecesarios errores de excepción. – lifebalance

Cuestiones relacionadas