2014-10-16 4 views
0

Мне было интересно, как именно создать массив ArrayList из массива объектов. НапримерКак создать массив ArrayList массивов объектов в Java?

Object[] objectArray = new Object() // Varying amount of object[] 

Я хотел бы добавить Object[] к ArrayList, как они приходят в Я видел, что ArrayList массивов могут быть созданы следующим образом:.

ArrayList<String[]> action = new ArrayList<String[]>(); 

Так я думал, это будет таким же простым, как:

ArrayList<objectArray[]> action = new ArrayList<objectArray[]>(); 

Но, по-видимому, нет.

ответ

1

Тип параметра в родовом List класса должно быть имя класса, а не имя переменной, которая ссылается на массив:

ArrayList<Object[]> action = new ArrayList<Object[]>(); 

Два примечания:

  1. Try, чтобы избежать объявления типов к реализациям. Объявить action как List (интерфейс):

    List<Object[]> action = new ArrayList<Object[]>();

  2. Было бы сделать жизнь немного легче, если вы сделаете параметр другой List вместо массива Object с:

    List<List<?>> action = new ArrayList<List<?>>();

2

Вы создаете ArrayList массивов таким образом:

ArrayList<Object[]> action = new ArrayList<Object[]>(); 

Каждый раз, когда вы добавляете в этот список объект [], он должен иметь фиксированную длину. Если вы хотите массивы переменной длины внутри ArrayList, я предлагаю вам использовать ArrayList<ArrayList<Object>>.

Ваш синтаксис с objectArray просто недействителен синтаксисом Java.

0

ArrayList<LoadClass[]> sd = new ArrayList<LoadClass[]>();

Это работает :)

0

Итак, у вас есть два вопроса:

Object[] objectArray = new Object() 
ArrayList<objectArray[]> action = new ArrayList<objectArray[]>(); 

изменить его на:

int MAX_ARRAY = 3; 
Object[] objectArray = new Object[MAX_ARRAY]; 

ArrayList<Object[]> action = new ArrayList<Object[]>(); 

Теперь вы можете добавить свой objectArray в " действие ":

action.add(objectArray); 
0

Это простой материал.

// Class Student with a attribute name 
public class Student{ 
    String name; 
    public Student(String name){ 
     this.name = name; 
    } 

    public String getName(){ 
     return this.name; 
    } 


public static void main(String[] args) { 
    // Creating an ArrayList for Students 
    ArrayList<Student> students = new ArrayList<Student>(); 

    // Creating an Students Objects 
    Student a1 = new Student("Name1"); 
    Student a2 = new Student("Name2"); 
    Student a3 = new Student("Name3"); 

    // Populating ArrayList<Student> 
    students.add(a1); 
    students.add(a2); 
    students.add(a3); 

    // For Each to sweeping all objects inside of this ArrayList 
    for(Student student : students){ 
     System.out.println(student.getName()); 
    } 
} 

Наслаждайтесь!