J'ai un double ArrayList
en Java comme celui-ci.
List<double[]> values = new ArrayList<double[]>(2);
Maintenant, ce que je veux faire est d’ajouter 5 valeurs dans l’indice zéro de la liste et 5 valeurs dans l’index un à la boucle.
L'index zéro aurait les valeurs {100,100,100,100,100}
L'indice 1 aurait les valeurs {50,35,25,45,65}
et toutes ces valeurs sont stockées dans un tableau double dans l'ordre suivant
double[] values = {100,50,100,35,100,25,100,45,100,65}
Comment puis-je le faire?
@Ahamed a un point, mais si vous insistez pour utiliser des listes afin que vous puissiez avoir trois listes comme ceci:
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));
}
Edit: Si vous avez ces valeurs sur votre liste, celles-ci:
List<double[]> values = new ArrayList<double[]>(2);
ce que vous voulez faire est de les combiner, non? Vous pouvez essayer quelque chose comme ceci: (Je suppose que les deux tableaux ont la même taille, sinon vous devez en utiliser deux pour l'instruction)
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]);
}
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);
Vous pouvez avoir autant de ArrayList
dans arrObjList
. J'espère que cela t'aidera.
créer une méthode simple pour le faire pour vous:
public void addMulti(String[] strings,List list){
for (int i = 0; i < strings.length; i++) {
list.add(strings[i]);
}
}
Ensuite, vous pouvez créer
String[] wrong ={"1","2","3","4","5","6"};
et ajoutez-le avec cette méthode à votre liste.
Que diriez-vous
Essayez comme ça ..
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]);
}
}
}
Utilisez plutôt un tableau à deux dimensions. Par exemple, int values[][] = new int[2][5];
Les tableaux sont plus rapides lorsque vous ne manipulez pas beaucoup.
Vous pouvez passer un objet qui fait référence à toutes les valeurs d'un index particulier.
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;
}
}
Pour obtenir ultérieurement une valeur particulière à un index spécifique, procédez comme suit:
a.get(0).p1;
a.get(0).p2;
a.get(0).p3;.............
etc.
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());
}
}
}