ArrayList是Java中的一种实现了可变大小数组的有序集合,它可以自动增长,并且可以在任何位置插入或删除元素。本文将介绍ArrayList的四种初始化常见方式,分别是:使用构造函数,使用add方法,使用addAll方法,以及使用Collections.addAll方法。
使用构造函数
使用构造函数可以快速创建一个ArrayList,可以指定ArrayList的初始容量,并且可以指定一个带有初始元素的集合。
// 创建一个初始容量为10的ArrayList ArrayListlist1 = new ArrayList (10); // 创建一个带有初始元素的ArrayList List list2 = Arrays.asList("a", "b", "c"); ArrayList list3 = new ArrayList (list2);
使用add方法
使用add方法可以将单个元素添加到ArrayList中,也可以将一个集合的所有元素添加到ArrayList中,但是在添加大量元素时,使用add方法效率较低,因为每次添加元素都会涉及到数组的复制,所以在添加大量元素时,应该考虑使用addAll方法。
// 向ArrayList中添加单个元素 ArrayListlist1 = new ArrayList (); list1.add("a"); // 向ArrayList中添加一个集合的所有元素 List list2 = Arrays.asList("a", "b", "c"); ArrayList list3 = new ArrayList (); list3.addAll(list2);
使用addAll方法
使用addAll方法可以将一个集合的所有元素添加到ArrayList中,这种方法比使用add方法添加大量元素效率更高,因为不需要复制数组。
Listlist1 = Arrays.asList("a", "b", "c"); ArrayList list2 = new ArrayList (); list2.addAll(list1);
使用Collections.addAll方法
使用Collections.addAll方法可以将一个集合的所有元素添加到ArrayList中,这种方法和使用addAll方法的效率是一样的,但是使用Collections.addAll方法可以提供更多的灵活性,可以指定添加元素的起始位置。
Listlist1 = Arrays.asList("a", "b", "c"); ArrayList list2 = new ArrayList (); // 将list1的元素添加到list2的第2个位置 Collections.addAll(list2, list1.toArray(new String[0]), 2);
以上就是ArrayList四种常见的初始化方式,使用不同的初始化方式可以满足不同的需求,比如指定ArrayList的初始容量,指定初始元素,指定添加元素的起始位置等,可以根据实际情况选择不同的初始化方式。