java - 选择子数组而不复制到新缓冲区?

标签 java arrays

我有长度为 100 的 float[] 数组。有什么方法可以选择(伪代码):

x = array[10:19];

要获取元素 10,11,12,...,19 而不复制到另一个缓冲区?我在一个移动应用程序中,我不想浪费空间或时间来做这件事。我宁愿只引用系统用于 array 的指针。

最佳答案

最有效的方法是使用 System.arrayCopy() ,这比使用循环手动复制更快、更有效。它将需要另一个数组,但是您使用的任何方法(除了将原始数组与几个代表要使用的偏移量的整数一起传递之外)都可以做到这一点,而且它相对便宜 - 内存消耗位通常是它引用的对象而不是数组本身,它们不会被复制。

关于java - 选择子数组而不复制到新缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20478363/

相关文章:

java - 垃圾收集器是否处理 java 中的静态变量或方法?

c - 循环直到找到特定字符串

python - 在 NumPy 中转置存储在一维数组中的矩阵的最快方法?

java - 从 ArrayList 中检索样本

java - 二维数组,查找数组中重复次数最多的数字

Java WatchService 不适用于某些文件夹

Java序列化问题

java - java字符串数组越界

java - tomcat的性能极限是多少?

c++ - 编译器错误 :falied to determine size of array size identifier