我在java中有这样的双ArrayList
。
List<double[]> values = new ArrayList<double[]>(2);
现在我要做的是在列表的零索引中添加5个值,在索引1中通过循环添加5个值。
第零个索引的值为{100,100,100,100,100}
索引1的值为{50,35,25,45,65}
并且所有这些值按以下顺序存储在双数组中
double[] values = {100,50,100,35,100,25,100,45,100,65}
我该怎么做?
答案 0 :(得分:8)
答案 1 :(得分:3)
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);
ArrayList
内可以有arrObjList
个{{1}}。我希望这会对你有所帮助。
答案 2 :(得分:3)
怎么样
试试这样..
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 :(得分:3)
为您创建简单的方法:
public void addMulti(String[] strings,List list){
for (int i = 0; i < strings.length; i++) {
list.add(strings[i]);
}
}
然后你可以创建
String[] wrong ={"1","2","3","4","5","6"};
并将此方法添加到您的列表中。
答案 4 :(得分:1)
请改用二维数组。例如,当您没有进行太多操作时,int values[][] = new int[2][5];
阵列会更快。
答案 5 :(得分:0)
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());
}
}
}
答案 6 :(得分:0)
您可以传递一个引用特定索引处所有值的对象。
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;
}
}
稍后要在特定索引处获取特定值,您可以执行以下操作:
a.get(0).p1;
a.get(0).p2;
a.get(0).p3;.............
等等。