首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在java中调整二维数组的大小

如何在java中调整二维数组的大小
EN

Stack Overflow用户
提问于 2020-07-26 03:36:08
回答 2查看 120关注 0票数 0

对于上下文,我正在研究一种人工智能,它可以对语音进行分类,并最终控制视频游戏中的角色。我有连续采样音频并将其转换为频谱图的代码,但由于java线程不准确,频谱图没有恒定的维度。

我有一个表示频谱图的二维值数组,我想要调整该数组的大小。我发现目前唯一的方法是效率不够的,因为时间是至关重要的。例如,使用BufferedImage对象和图像对象:

Image newImage = yourImage.getScaledInstance(newWidth, newHeight, Image.SCALE_DEFAULT);

有没有一种我可以实现的算法来调整值数组的大小,就像调整图像大小一样

EN

回答 2

Stack Overflow用户

发布于 2020-07-26 03:40:01

java中的数组根本不能调整大小。“resize”操作生成一个全新的数组,复制数据,然后返回新创建的数组。

抽象是游戏的名称:例如,这是:

代码语言:javascript
复制
List<String> list = new ArrayList<String>(1000);
for (int i = 0; i < 500; i++) list.add("Hello, " + i);

给你一张有500件东西的清单。如果你再多加500个,就不会有任何惩罚。

java.util包和java.util.concurrent中已经有很多可用集合。对于更奇特的需求,可以看看第三方产品;有大量的类型用于各种用途,包括原始集合,具有性能影响保证的集合(arraylist具有低成本,但只有当您考虑成本摊销时:不时地对arraylist的add调用是昂贵的,因为它必须创建新的数组。如果这是一个问题,有一个库可以解决这个问题- RealTime java非常需要这个库,这可能有助于寻找合适的实现)。

请注意,您不应该担心性能,直到您有一个真实的‘证据’,代码运行速度比您希望的慢。然后运行分析器,并配备分析器报告,只查看分析器告诉您CPU和/或内存资源正在花费的那些区域。优化代码中小于总资源消耗1%的部分是没有意义的。

注:再来一次..“在java中调整数组的大小”不是一件事,而且...'A 2D array in java‘也不存在。你可以有一个数组的数组,这和这里的不完全一样。但这不会改变观点:你需要一个能做你想做的事情的抽象,而' array‘(或数组的数组)不是它。

票数 1
EN

Stack Overflow用户

发布于 2020-07-26 04:32:16

一旦你在java中给数组分配了一个大小,如果你需要一个动态的列表大小,你就不能改变it.Use集合框架。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63092732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档