存储对象的数组和arraylist之间有什么区别?

时间:2019-07-11 07:36:41

标签: arrays arraylist

我是一个新手程序员,所以我需要帮助理解存储对象的数组和数组列表之间的区别。在这里,我创建了两者,但是有人可以解释有什么区别吗?难道一个人只能存储参考,而另一个人不能存储?

public class Animal {

int mass;
String color;
String sound;

Animal (int m, String c, String s)
{
    mass=m;
    color=c;
    sound=s;
}

}

import java.util.ArrayList;   导入java.util.Scanner;

public class Main {
public static void main (String Args [])
{
    Animal cat = new Animal(10,"orange","mew");
    Animal dog = new Animal(20,"black","Woof");
    Animal cow = new Animal(400,"white","muuu");

    ArrayList <Animal> a = new ArrayList<Animal>(3);
    a.add(cat);
    a.add(dog);
    a.add(cow);

    Scanner scan = new Scanner(System.in);
    int mass;
    String color;
    String sound;

    System.out.println("Enter the mass, color and sound of each animal");
    Animal [] array = new Animal[3];
    for (int q=0; q<3; q++)
    {
        mass=scan.nextInt();
        color=scan.nextLine();
        sound=scan.nextLine();
        array[q] = new Animal(mass,color,sound);
    }

}

}

1 个答案:

答案 0 :(得分:0)

@jcm ArrayArrayList之间有一些区别。您可以在这里Array Vs ArrayList找到它。

现在,根据您有关引用的问题,ArrayList和Array都仅存储reference中的object。其中none个存储actual object。实际对象存储在heap memory中。

有关更多详细信息,您可以选中此StackOverflow answer