Agregar varios valores en ArrayList en un índice único

Tengo una doble ArrayList en java como esta.

 List<double[]> values = new ArrayList<double[]>(2); 

Ahora lo que quiero hacer es agregar 5 valores en índice cero de la lista y 5 valores en el índice uno a través de bucle.

El índice zeroth tendría valores {100,100,100,100,100} El índice 1 tendría valores {50,35,25,45,65}

Y todos estos valores se almacenan en una matriz doble en el siguiente orden

 double[] values = {100,50,100,35,100,25,100,45,100,65} 

¿Cómo puedo hacerlo?

7 Solutions collect form web for “Agregar varios valores en ArrayList en un índice único”

@Ahamed tiene un punto, pero si usted está insistiendo en el uso de listas para que pueda tener tres arraylist como este:

 ArrayList<Integer> first = new ArrayList<Integer>(Arrays.AsList(100,100,100,100,100)); ArrayList<Integer> second = new ArrayList<Integer>(Arrays.AsList(50,35,25,45,65)); ArrayList<Integer> third = new ArrayList<Integer>(); for(int i = 0; i < first.size(); i++) { third.add(first.get(i)); third.add(second.get(i)); } 

Editar: Si tiene los valores en su lista que a continuación:

 List<double[]> values = new ArrayList<double[]>(2); 

Lo que quieres hacer es combinarlos, ¿verdad? Puede probar algo como esto: (Supongo que ambas matrices son del mismo tamaño, de lo contrario necesita usar dos para la sentencia)

 ArrayList<Double> yourArray = new ArrayList<Double>(); for(int i = 0; i < values.get(0).length; i++) { yourArray.add(values.get(0)[i]); yourArray.add(values.get(1)[i]); } 

Qué tal si

  1. Primero añadir su resultado deseado como arraylist y
  2. Y convertir a doble matriz como desee.

Probar así

 import java.util.ArrayList; import java.util.List; public class ArrayTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub // Your Prepared data. List<double[]> values = new ArrayList<double[]>(2); double[] element1 = new double[] { 100, 100, 100, 100, 100 }; double[] element2 = new double[] { 50, 35, 25, 45, 65 }; values.add(element1); values.add(element2); // Add the result to arraylist. List<Double> temp = new ArrayList<Double>(); for(int j=0;j<values.size(); j++) { for (int i = 0; i < values.get(0).length; i++) { temp.add(values.get(0)[i]); temp.add(values.get(1)[i]); } } // Convert arraylist to int[]. Double[] result = temp.toArray(new Double[temp.size()]); double[] finalResult = new double[result.length]; // This hold final result. for (int i = 0; i < result.length; i++) { finalResult[i] = result[i].doubleValue(); } for (int i = 0; i < finalResult.length; i++) { System.out.println(finalResult[i]); } } } 

Crear un método sencillo para hacer eso por usted

 public void addMulti(String[] strings,List list){ for (int i = 0; i < strings.length; i++) { list.add(strings[i]); } } 

De lo que puedes crear

 String[] wrong ={"1","2","3","4","5","6"}; 

Y agregue con este método a su lista.

 ArrayList<ArrayList> arrObjList = new ArrayList<ArrayList>(); ArrayList<Double> arrObjInner1= new ArrayList<Double>(); arrObjInner1.add(100); arrObjInner1.add(100); arrObjInner1.add(100); arrObjInner1.add(100); arrObjList.add(arrObjInner1); 

Puede tener tantas ArrayList dentro de arrObjList . Espero que esto ayude.

En su lugar, utilice una matriz bidimensional. Por ejemplo, los int values[][] = new int[2][5]; Las matrices son más rápidas, cuando no están manipulando mucho.

 import java.util.*; public class HelloWorld{ public static void main(String []args){ List<String> threadSafeList = new ArrayList<String>(); threadSafeList.add("A"); threadSafeList.add("D"); threadSafeList.add("F"); Set<String> threadSafeList1 = new TreeSet<String>(); threadSafeList1.add("B"); threadSafeList1.add("C"); threadSafeList1.add("E"); threadSafeList1.addAll(threadSafeList); List mainList = new ArrayList(); mainList.addAll(Arrays.asList(threadSafeList1)); Iterator<String> mainList1 = mainList.iterator(); while(mainList1.hasNext()){ System.out.printf("total : %s %n", mainList1.next()); } } } 

Puede pasar un objeto que hace referencia a todos los valores de un índice en particular.

 import java.util.ArrayList; public class HelloWorld{ public static void main(String []args){ ArrayList<connect> a=new ArrayList<connect>(); a.add(new connect(100,100,100,100,100)); System.out.println(a.get(0).p1); System.out.println(a.get(0).p2); System.out.println(a.get(0).p3); } } class connect { int p1,p2,p3,p4,p5; connect(int a,int b,int c,int d,int e) { this.p1=a; this.p2=b; this.p3=c; this.p4=d; this.p5=e; } } 

Más adelante, para obtener un valor específico en un índice específico, puede hacerlo:

 a.get(0).p1; a.get(0).p2; a.get(0).p3;............. 

y así.

  • Prueba de objetos JSON nulos en Java / Android
  • Dibujar flecha en polilínea con Google Maps V2
  • ¿Es posible definir un recurso de array de cadenas Android en Gradle?
  • No se encontró el archivo de Android- R.java
  • ¿Por qué debo usar Spring Android?
  • ¿Puede el androide sqlite interfaz ser utilizado fuera de Android
  • Acceso a recursos sin contexto
  • Android BLE: onCharacteristicRead () parece estar bloqueado por subprocesos
  • GetContext () no existe
  • Android Jack: Lambda que viene del archivo jar necesita sus interfaces en el classpath para ser compilado, las interfaces desconocidas son java.util.function.Consumer
  • ¿Cómo clasificar las fechas de la fecha actual a la antigua en Android o Java?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.