在单个索引处在ArrayList中添加多个值

时间:2012-09-21 04:55:54

标签: java android arraylist

我在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}

我该怎么做?

7 个答案:

答案 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)

怎么样

  1. 首先将您想要的结果添加为arraylist和
  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;.............

等等。