Java 数组或数组列表

Java 数组或数组列表,java,arrays,Java,Arrays,我对使用数组很熟悉,但最近遇到了ArrayList,我想知道您是否会使用ArrayList而不仅仅是常规数组 作为参考,ArrayList如下所示: ArrayList<Dog> myDogArrayList = new ArrayList<Dog>(); ArrayLists(或者,通常是集合)用于繁重的读写操作,而不考虑太多容量、扩展等(首先)。调用ArrayList#add比创建大小为oldArray.length+1的新数组、执行System.arraycopy

我对使用数组很熟悉,但最近遇到了ArrayList,我想知道您是否会使用ArrayList而不仅仅是常规数组

作为参考,ArrayList如下所示:

ArrayList<Dog> myDogArrayList = new ArrayList<Dog>();
ArrayList
s(或者,通常是集合)用于繁重的读写操作,而不考虑太多容量、扩展等(首先)。调用
ArrayList#add
比创建大小为
oldArray.length+1
的新数组、执行
System.arraycopy
然后添加元素要舒服得多。有许多简便的方法(
indexOf
remove
sublist
)与数组相比,它们利用了使用的复杂性

如果您查看
Collections
类,您会发现许多方便的方法,如
shuffle
reverse


通常,使用
列表
比使用数组更为常见,除了要提高性能之外

如果你需要一个集合的功能,增长的可能性或诸如此类的东西,我会坚持arraylist。请注意,ArrayList是比数组“更重要的东西”,因此不同
String [] Dog = new String(type)