130、java中在使用new ArrayList<>(),在参数中传入一个集合的作用
在Java中,当你使用new ArrayList<>()时,你正在创建一个新的ArrayList实例。如果你在其后跟一对尖括号,并在内部传入一个集合,那么这实际上是一个"初始容量"的概念。
例如,如果你有一个集合otherList,你可以这样做:
List<String> otherList = new ArrayList<>(Arrays.asList("a", "b", "c"));
这将创建一个新的ArrayList,并且其初始容量将设置为otherList的大小,同时将collection中所有元素复制到新的列表中。这不是一个“传递”操作,而是一个复制操作。这样做可以提高效率,因为它可以减少ArrayList在添加过程中可能需要调整内部数组大小的次数。
如果你不传入集合,那么初始容量将默认为0,并且随着元素的添加而动态增长。
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
在这个例子中,list的初始容量将为0,随着元素的添加而动态增加。