java - 没有 copyOf() 数组不会调整大小
问题描述
我有一种方法,一旦达到其容量,它应该将数组的大小增加一倍
我试图找到一种在没有 Arrays.copyOf 的情况下调整其大小的方法,而是创建一个两倍大小的数组并将原始数组存储在新调整大小的数组中
作品
this.capacity = this.capacity * 2;
this.theData = Arrays.copyOf(this.theData, this.capacity);
不起作用, 而是丢弃第一个索引并用新值替换它,而不调整大小
double arrayResize[] = new double[this.capacity*2];
for (int i = 0; i<this.theData.length;i++){
arrayResize[i] = this.theData[i];
}
解决方案
您不能在 Java 中调整数组的大小。请改用 ArrayList 或 LinkedList。
如果您需要原始类型的列表并且不想将它们包装到对象中,请查看 Colt 或 Parallel Colt 库。
推荐阅读
- android - 在 Android Q API 29 中使用 getNeighboringCellInfo() 会给出错误“无法解析方法”而不是弃用警告
- javascript - 在 iframe 中单击按钮时从输入字段加载网页
- javascript - 无法检查文件是否存在于纯 JavaScript 中
- javascript - 尝试使用带有 AngularJS 的 Web 部件页在我的 SharePoint Online 自定义列表中显示数据
- ios - 如何使用 arkit 人脸跟踪获取 3d 位置数据?
- javascript - 如何从ajax调用更改php变量?
- javascript - jQuery在拖动时更新DOM
- xamarin.ios - 在xamarin ios中连接wifi时出错
- r - 基于 R 中的拟合 GMM 在直方图顶部绘制密度
- javascript - 如何在 JSON 中修复我的下拉选择数据?