In der folgenden Spalte werden die Konstruktionsmethoden von ArrayList in der Spalte Java Zero Basics Introduction vorgestellt. Ich hoffe, dass sie Ihnen beim Lernen hilfreich sein wird!
1. ArrayList(int initialCapacity)
Wenn wir also ArrayList verwenden möchten, können wir die neue ArrayList-Konstruktionsmethode (Größe) verwenden, um die Größe der Sammlung anzugeben und die Anzahl zu reduzieren Erweiterungen und Verbesserung der Schreibeffizienz. Der Quellcode des Konstruktors lautet wie folgt:
// 自定义初始容量的构造方法 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); } }
Dieser Konstruktor ist relativ einfach zu verstehen, da nicht viel Code beteiligt ist und es sich meiner Meinung nach um grundlegende Codes handelt Verstehe es, wenn du schlau bist.
2. ArrayList()
Das ist noch einfacher, mit nur zwei Zeilen Code
// 默认的构造方法,构造一个初始容量为10的空列表 public ArrayList() { // elementData 初始化为 DEFAULTCAPACITY_EMPTY_ELEMENTDATA this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA; }
3 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; } }
Das obige ist der detaillierte Inhalt vonWas sind die Konstruktionsmethoden von ArrayList in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!