java从多个arraylist创建字符串数组

时间:2016-12-15 16:02:20

标签: java android arrays string

我有这样的多个arraylist:

arraylist
arrayList.add(product1);
arrayList.add(product2);
arrayList.add(product3);
arrayList.add(product4);
.
.
.
.
arrayList.add(productn);


arraylist2
arrayList2.add(name1);
arrayList2.add(name2);
arrayList2.add(name3);
arrayList2.add(name4);
.
.
.
arrayList2.add(namen);


  arraylist3
arrayList3.add(id1);
arrayList3.add(id2);
arrayList3.add(id3);
arrayList3.add(id4);
.
.
.
arrayList3.add(idn);

我想创建上面的arraylists数组合的字符串 arraylist中的字符串索引

这样的事情

string[1] = {product1,name1,id1 }
string[2] = {product2,name2,id2 }
.
.
.
string[n] = {productn,namen,idn }

任何想法怎么做? 对不起 并提前感谢

4 个答案:

答案 0 :(得分:0)

创建一个类,然后创建该类的实例/对象数组。这是一个例子,

public class Product{
    String name;
    String id;
    public Product(String name, String id){ //constructor for the object
        this.name = name;
        this.id = id;
    }
}

然后在main方法中,创建一个类型为Product的数组,并将Product的实例添加到数组中,

Product[] products = new Product[10];
products[0] = new Product("cheese", "0");
System.out.println(products[0].name + " " + products[0].id);

您可以根据自己的喜好进行调整,例如,您可以通过添加Productname以外的更多实例字段来编辑id类,调整数组大小,将数组更改为arraylist等。

答案 1 :(得分:0)

你的意思是什么?

int size = 10;
List<String> arr1 = new ArrayList<>();
List<String> arr2 = new ArrayList<>();
List<String> arr3 = new ArrayList<>();
String[] string = new String[size];
for (int i = 0; i < size; i++) {
    string[i] = arr1.get(i) + arr2.get(i) + arr3.get(i);
}

答案 2 :(得分:0)

您可以在一个循环中循环遍历它们并使用它创建一个对象。 我们需要创建一个类

// The data type will change based on the data type you have them as

public class MyObject {
   private Product product;
   private Name name; 
   private Id id; 

   public MyObject(Product p, Name n, Id i) {
       product = p;
       name = n;
       id = i;
   }
   // All Getters & toString()
}

现在循环:

List< MyObject> myList = new ArrayList < MyObject >();
for ( int i=0 ; i < arrayList || i < arrayList2 || i < arrayList3 ) {
     myList.add(new MyObject(arrayList.get(i),arrayList2.get(i),arrayList3.get(i)))
}

请注意,您可以覆盖类中的toString方法,以便以您希望的方式获取输出。 EG:

public String toString() { 
    return "Name: '" + this.name + "', ID: '" + this.id + "', Product: '" + this.product + "'";
} 

答案 3 :(得分:0)

public static void main(String[] args)  { 
    List<String> arrayList = new ArrayList<>();
    arrayList.add("product1");
    arrayList.add("product2");
    arrayList.add("product3");
    List<String> arrayList2 = new ArrayList<>();
    arrayList2.add("name1");
    arrayList2.add("name2");
    arrayList2.add("name3");
    List<String> arrayList3 = new ArrayList<>();
    arrayList3.add("id1");
    arrayList3.add("id2");
    arrayList3.add("id3");

    int n = arrayList.size();
    List<String[]> productlist = new ArrayList<>();
    for(int i = 0; i< n;i++){
        productlist.add(new String[]{arrayList.get(i),arrayList2.get(i),arrayList3.get(i)});
        System.out.println(Arrays.toString(productlist.get(i)));
    }
}