Java 在单个索引的ArrayList中添加多个值

Java 在单个索引的ArrayList中添加多个值,java,android,arraylist,Java,Android,Arraylist,我在java中有一个类似这样的双ArrayList List<double[]> values = new ArrayList<double[]>(2); 我该怎么做呢?改用二维数组。例如,int值[][]=newint[2][5]数组速度更快,当你不需要太多的操作时。@Ahamed有一个道理,但是如果你坚持使用列表,那么你可以有三个这样的数组列表: ArrayList<Integer> first = new ArrayList<Integer>

我在java中有一个类似这样的双
ArrayList

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

我该怎么做呢?

改用二维数组。例如,
int值[][]=newint[2][5]数组速度更快,当你不需要太多的操作时。

@Ahamed有一个道理,但是如果你坚持使用列表,那么你可以有三个这样的数组列表:

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));
}
ArrayList first=新的ArrayList(Arrays.AsList(100100));
arraylistsecond=新的ArrayList(Arrays.AsList(50,35,25,45,65));
ArrayList third=新的ArrayList();
对于(int i=0;i
编辑: 如果您的列表中有以下值:

List<double[]> values = new ArrayList<double[]>(2);
列表值=新的ArrayList(2);
你要做的是把它们结合起来,对吗?您可以尝试以下方法: (我假设两个数组的大小相同,否则需要使用两个for语句)

ArrayList yourray=new ArrayList();
for(int i=0;i
ArrayList arrObjList=new ArrayList();
ArrayList arrObjInner1=新的ArrayList();
1.加入(100);
1.加入(100);
1.加入(100);
1.加入(100);
arrObjList.add(arrObjInner1);
arrObjList
中可以有任意多个
ArrayList
。我希望这对你有帮助。

怎么样

  • 首先将所需结果添加为arraylist,然后
  • 并根据需要转换为双数组
  • 像这样试试

    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]);
                }
            }
        }
    
    import java.util.ArrayList;
    导入java.util.List;
    公共类阵列测试{
    /**
    *@param args
    */
    公共静态void main(字符串[]args){
    //TODO自动生成的方法存根
    //你准备好的数据。
    列表值=新的ArrayList(2);
    double[]element1=新的double[]{100100100100100};
    双[]元素2=新的双[]元素{50,35,25,45,65};
    添加(元素1);
    添加(元素2);
    //将结果添加到arraylist。
    List temp=new ArrayList();
    
    对于(int j=0;j创建一个简单的方法来为您执行此操作:

    public void addMulti(String[] strings,List list){
        for (int i = 0; i < strings.length; i++) {
            list.add(strings[i]);
        }
    }
    
    并使用此方法将其添加到列表中。

    import java.util.*;
    
    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());
     }
    }
    }
    
    公共类HelloWorld{ 公共静态void main(字符串[]args){ List-threadSafeList=new-ArrayList(); 螺纹安全列表。添加(“A”); 螺纹安全列表。添加(“D”); 螺纹安全列表。添加(“F”); 设置threadSafeList1=新树集(); 螺纹安全列表1.添加(“B”); 螺纹安全列表1.添加(“C”); 螺纹安全列表1.添加(“E”); threadSafeList 1.addAll(threadSafeList); List mainList=new ArrayList(); addAll(Arrays.asList(threadSafeList1)); 迭代器mainList1=mainList.Iterator(); while(mainList1.hasNext()){ System.out.printf(“总计:%s%n”,mainList1.next()); } } }
    您可以传递一个对象,该对象引用特定索引中的所有值

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

    依此类推。

    首先,你的目标是创建一个多级数组,还是违反了ArrayList的目的?如果是前者,你可以有一个
    ArrayList
    ;如果是后者,你应该重新考虑为什么要在这里使用列表。我需要使用列表,因为我需要将它传递给AChartENGINE来绘制图形。顺便说一下,你可以告诉我如何使用arraylist:)问题是我没有这些硬编码值,我的double[]array.thanx谢谢你的帮助。我让它工作了,我的解决方案几乎与你的类似:)很高兴听到@Java.初学者:)你给出了一个很好的例子,你检查过它是否编译了吗?我还没有写完整的代码,ArrayList声明将在main()中它在一个单独的类中。
    connect
    方法没有返回类型。它是否编译?如果签名没有返回任何内容,则应在签名中添加
    void
    。此外,按照惯例,Java类以大写字母开头。
    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"};
    
    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());
     }
    }
    }
    
    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;.............