如何在Java中创建对象数组的ArrayList?

时间:2014-10-16 18:46:12

标签: java arrays arraylist

我想知道如何创建一个对象数组的ArrayList。例如

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

我希望Object[]添加到ArrayList。我看到可以通过以下方式创建ArrayList个数组:

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

所以我认为它会如此简单:

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

但显然不是。

5 个答案:

答案 0 :(得分:2)

以这种方式创建数组的ArrayList:

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

每次向该列表添加Object []时,它必须具有固定长度。 如果你想在ArrayList中使用可变长度数组,我建议你使用ArrayList<ArrayList<Object>>

您使用objectArray的语法只是无效的Java语法。

答案 1 :(得分:1)

泛型List类中的type参数应该是类名,而不是引用该数组的变量的名称:

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 :(得分:0)

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

这有效:)

答案 3 :(得分: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添加到&#34; action&#34;:

action.add(objectArray);

答案 4 :(得分: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());
    }
}

享受!