web-dev-qa-db-de.com

Hinzufügen mehrerer Werte in ArrayList zu einem einzelnen Index

Ich habe ein doppeltes ArrayList in Java wie folgt.

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

Nun möchte ich 5 Werte im Nullindex der Liste und 5 Werte im Index Eins durch Schleifen hinzufügen.

Der nullte Index hätte die Werte {100,100,100,100,100} Der Index 1 hätte die Werte {50,35,25,45,65}.

alle diese Werte werden in einer doppelten Anordnung in der folgenden Reihenfolge gespeichert

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

Wie kann ich es tun?

7

@Ahamed hat einen Punkt, aber wenn Sie darauf bestehen, Listen zu verwenden, können Sie drei Array-Listen wie folgt verwenden:

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));
}

Bearbeiten Sie: .__ Wenn Sie diese Werte auf Ihrer Liste haben:

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

was Sie wollen, ist, sie zu kombinieren, richtig? Sie können etwas wie das versuchen: (Ich gehe davon aus, dass beide Arrays dieselbe Größe haben, andernfalls müssen Sie zwei für Anweisung verwenden.

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]);
}
8
yahya
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);

Sie können so viele ArrayList in der arrObjList haben. Ich hoffe, dies wird dir helfen.

3
Meher

erstellen Sie eine einfache Methode, um dies für Sie zu tun:

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

Dann kannst du schaffen

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

und fügen Sie es mit dieser Methode Ihrer Liste hinzu. 

3
Jesus Dimrix

Wie wäre es mit 

  1. Fügen Sie zunächst Ihr gewünschtes Ergebnis als Arrayliste und ein
  2. und konvertieren Sie in Double Array, wie Sie möchten.

Versuchen Sie es so ..

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]);
            }
        }
    }
3
swemon

Verwenden Sie stattdessen ein zweidimensionales Array. Beispielsweise sind int values[][] = new int[2][5];-Arrays schneller, wenn Sie nicht viel bearbeiten.

1
Ahamed

Sie können ein Objekt übergeben, das sich auf alle Werte eines bestimmten Index bezieht.

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;
}

}

Um später einen bestimmten Wert an einem bestimmten Index zu erhalten, können Sie Folgendes tun:

a.get(0).p1;

a.get(0).p2;

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

und so weiter.

0
Pulkit Kedia
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());
 }
}
}
0
Mayank Tiwari