我有一个关于Java的基本问题ArrayList.
当ArrayList被声明和初始化使用默认构造,对于10个元件的存储器空间被创建.现在,当我添加第11个元素时,会发生什么?是否会创建具有20(或更多)元素容量的新内存空间(这需要将元素从第一个内存位置复制到新位置)还是其他一些东西?
我查了这里.但我没有找到答案.
请分享知识.谢谢.
Java中的java.util.List中最多可以添加多少数据?
是否有ArrayList的默认大小?
你能给我一些关于对象标题中存储内容的信息吗?我知道,它可能依赖于JVM,但至少可能对HotSpot有用吗?我正在寻找第一行的具体描述.
我已经阅读了一些我无法用我发现的信息验证的信息.也许你有一个指向OpenJDK维基的链接?
为什么不可能创建一个max int size的数组?
int i = 2147483647;
int[] array = new int[i];
Run Code Online (Sandbox Code Playgroud)
我找到了这个解释:
通过32位整数访问Java数组,最大理论数组大小为2147483647个元素.
但是你可以看到我的代码不起作用.创建一个大小的数组也是不可能的
new int[Integer.MAX_VALUE - 5];
Run Code Online (Sandbox Code Playgroud)
PS
为什么-5呢?
我有一个问题,在编码过程中弹出:我想确定一下,关于这个问题,所以我希望你能帮助我!
那么我在想,JTextArea长度是无限的吗?或者最多可以使用多少个字符?
我尝试手动编写它,但我感到无聊,大约 5000 行和 100 000 个字符,那么 的限制是多少JTextArea?
我正在开发一个聊天程序,这对我来说很重要,但我没有找到答案。
我搜索了 ArrayList 容量问题,但找不到完整的答案。所以在这里再次询问。
我知道我们在 ArrayList 中添加的元素数量和容量是我们可以在该列表中放入多少数据,默认值为 10。
所以这里的问题是在声明是否赋予这样的能力时
List<String> list = new ArrayList<>(1);
Run Code Online (Sandbox Code Playgroud)
然后我也可以继续添加最多 10 或 20 个元素。那么这个容量声明是否仅对达到容量时发生的内部重新分配有用?
或者通过给出容量限制,我们可以只限制添加元素的那个点吗?