次のコラム Java ゼロベース入門 では、ArrayList の構築方法を紹介します。
1. ArrayList(intInitialCapacity)
したがって、ArrayList を使用する場合は、新しい ArrayList (size) 構築メソッドを使用してコレクションのサイズを指定し、コレクションの数を減らすことができます。
// 自定义初始容量的构造方法 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); } }
このコンストラクターはコード量が少なく、基本的なコードばかりなので比較的理解しやすいと思います。賢い人なら理解してください。 's
2. ArrayList()
これはさらに単純で、コードは 2 行だけです
// 默认的构造方法,构造一个初始容量为10的空列表 public ArrayList() { // elementData 初始化为 DEFAULTCAPACITY_EMPTY_ELEMENTDATA this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA; }
3. ArrayList(Collection< ? 拡張 E> c)
// 构造一个包含指定元素的列表集合,按集合的返回顺序迭代器 // 传入参数为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 中国語 Web サイトの他の関連記事を参照してください。