La colonne suivante présentera les méthodes de construction d'ArrayList dans la colonne Introduction à Java Zero Basics. J'espère qu'elle sera utile à votre apprentissage !
1. ArrayList(int initialCapacity)
Ainsi, lorsque nous voulons utiliser ArrayList, nous pouvons utiliser la nouvelle méthode de construction ArrayList (size) pour spécifier la taille de la collection afin de réduire le nombre de extensions et améliorer l'efficacité de l'écriture, le code source du constructeur est le suivant :
// 自定义初始容量的构造方法 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); } }
Ce constructeur est relativement facile à comprendre, car il n'y a pas beaucoup de code impliqué, et ce sont tous des codes de base, je pense que vous le comprendrez. comprenez-le si vous êtes intelligent.
2. ArrayList()
C'est encore plus simple, avec seulement deux lignes de 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; } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!