다음 칼럼에서는 Java Zero 기본 소개 칼럼에서 ArrayList의 구성 방법을 소개하겠습니다. 학습에 도움이 되길 바랍니다!
1. ArrayList(intinitialCapacity)
그래서 ArrayList를 사용하려면 새로운 ArrayList(크기) 생성자로 컬렉션의 크기를 지정하여 확장 횟수를 줄이고 쓰기 효율성을 높일 수 있습니다. 이 생성자는 다음과 같습니다.
// 自定义初始容量的构造方法 public ArrayList(int initialCapacity) { if (initialCapacity > 0) { this.elementData = new Object[initialCapacity]; } else if (initialCapacity == 0) { this.elementData = EMPTY_ELEMENTDATA; } else { // 如果初始容量小于0,则会出现 IllegalArgumentException 异常 throw new IllegalArgumentException("Illegal Capacity: "+ initialCapacity); } }
이 생성자는 관련된 코드가 많지 않고 모두 기본 코드이므로 비교적 이해하기 쉽습니다.
Second, ArrayList()
이게 더 간단합니다. 코드는 두 줄뿐입니다
// 默认的构造方法,构造一个初始容量为10的空列表 public ArrayList() { // elementData 初始化为 DEFAULTCAPACITY_EMPTY_ELEMENTDATA this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA; }
3.ArrayList(Collection4620b3341428773ebdb92907f0c77dfbc)
// 构造一个包含指定元素的列表集合,按集合的返回顺序迭代器 // 传入参数为Collection对象 // c要将其元素放入此列表的集合 public ArrayList(Collection<? extends E> c) { // 调用toArray()方法将Collection对象转换为Object[] elementData = c.toArray(); // 判断size的大小,如果size值为0,则会抛出NullPointerException异常 // 如果size > 0 ,则执行以下代码 if ((size = elementData.length) != 0) { // c.toArray might (incorrectly) not return Object[] (see 6260652) if (elementData.getClass() != Object[].class) // 执行Arrays.copyOf,把Collection对象的内容copy到elementData中 elementData = Arrays.copyOf(elementData, size, Object[].class); } else { // replace with empty array. this.elementData = EMPTY_ELEMENTDATA; } }
위 내용은 Java에서 ArrayList의 구성 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!