在java ArrayList中,我们有一个构造函数-
ArrayList(内部容量)
两种方法-
false ensure容量(int min容量)
void trimToSize()
下面是一些示例代码-
ArrayList<String> arrayList3 = new ArrayList<>(5);
System.out.println(arrayList3.size());
arrayList3.add("Zebra");
arrayList3.add("Giraffe");
arrayList3.add("Bison");
System.out.println(arrayList3);
System.out.println(arrayList3.size());
arrayList3.add("Rhino");
arrayList3.add("Hippo");
arrayList3.add("Elephant");
arrayList3.add("Antelope");
System.out.println(arrayList3);
System.out.println(arrayList3.size());
输出-
0
[Zebra, Giraffe, Bison]
3
[Zebra, Giraffe, Bison, Rhino, Hippo, Elephant, Antelope]
7
在这里,我看不到设置初始容量如何影响程序的执行。ArrayList是一个灵活的列表,可以根据需要更改大小。那么任何显式容量设置的意义是什么?
第二个问题-
在显式容量设置的情况下,是否有任何方法可以查看当前容量,因为int size()
显然不适用于此。
ArrayList
作为动态数组的实现。
当其基础数组满时(即当前列表索引超过基础数组的最后一个有效索引),它会调整大小。
当它发生时,内部方法add()
(或addAll
)将调用方法增长()
。这将增加2
的容量,即创建一个长度
比之前的长度
大两倍的新数组加上不适合当前大小的新元素的数量。
这种增长的代价是O(n),因为之前添加的所有元素都需要复制到新阵列中。
无参数构造函数创建容量为10
的ArrayList
。
如果您认为它应该包含50000
元素,那么为了提高性能,在实例化ArrayList
时提供容量是有意义的
本文向大家介绍C#中如何将容量设置为ArrayList中元素的实际数量,包括了C#中如何将容量设置为ArrayList中元素的实际数量的使用技巧和注意事项,需要的朋友参考一下 要将容量设置为ArrayList中元素的实际数量,代码如下- 示例 输出结果 这将产生以下输出- 示例 现在让我们来看另一个示例- 输出结果 这将产生以下输出-
问题内容: 众所周知,Java ArrayList是使用数组实现的,并以10的容量进行初始化,并将其大小增加50%。如何获得当前ArrayList的容量而不是ArrayList的大小。 谢谢 问题答案: 我认为这是不可能的。您的用例是什么?我相信C#ArrayLists具有属性,但是Java ArrayList类不会公开此信息。 您具有接受初始容量参数的构造函数,并且具有可用于减少增量重新分配量的
我想在下面的代码中设置值,我正在使用arraylist如何数据结构,我需要更改int值,它是最后一个值。我在其他类中使用了一个setter来更改这个值,但我尝试用 谢谢..
问题内容: 在JDK 1.7中,该方法使用以下表达式来增加ArrayList.java的数组容量:因此,看来新容量几乎比旧容量增加了50%。 但是在很多书中都说容量翻了一番…所以书没有更新或我不太了解? 问题答案: 您的理解是正确的,newCapacity比oldCapacity大50% 在Java 6中,newCapacity计算为 这是Java之类的开源语言的魅力,您可以看到实现-如果它不符合
问题内容: 我将如何使用Java的ArrayList的getter和setter方法?这就是我所拥有的。我认为我正确地使用了吸气剂,但是我不知道如何为ArrayList使用setter。 问题答案: 要设置值,您可以将pass作为参数,只需将设置为参数即可。 另外,请注意使用而不是问题中所显示的。通常,setter方法不返回任何内容。
我有课 在另一个类中,我从第一个类中获得了一个对象数组 现在我想写一个在第二个数组中查找名称的方法,并为该数组中第一个对象的实例分配一个新值 但我没有得到这个工作。我需要写点什么吗?在set()方法中? 谢谢=)