2014-10-16 51 views
0

我在想如何創建一個對象數組的ArrayList。例如如何在Java中創建對象數組的ArrayList?

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. 儘量避免聲明類型的實現。聲明action作爲List(接口):

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

  2. 它將使生活更容易一點,如果你做的參數另一List代替Object秒的數組:

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

2

以這種方式創建一個ArrayList Array:

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

每次將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()); 
    } 
} 

Enjoy!