java - 如何在不复制数据的情况下在 Java 中获取数组的子数组?

标签 java arrays containers

我有一些类库,正在处理我的数据,这些数据正在读入缓冲区。是否有可能以某种方式避免一次又一次地复制数组,将部分数据越来越深地传递到处理方法中?好吧,这听起来很奇怪,但在我的特殊情况下,有一个特殊的写入器,它将数据分成 block 并将它们单独写入不同的位置,所以它只是执行 System.arraycopy,获取它需要的内容并调用底层写入器,使用那个新的子数组。这种情况发生了很多次。重构此类代码的最佳方法是什么?

最佳答案

Arrays.asList(array).subList(x, y).

这个方法没有给你一个数组,而是一个List,它更加灵活。

关于java - 如何在不复制数据的情况下在 Java 中获取数组的子数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3395547/

相关文章:

java - 逻辑 - 解释不同的输入

java - Java Classloader 能否重写系统类(仅它们的副本)的字节码?

java - SLF4J Log4J Jboss 4.3 和 EJB 3.0

java - 如何将原始图像转换为带符号的 32 位图像

javascript - 如何从node.js中的二维数组中获取随机项

java - 嵌入式tomcat 8.0.21中的Spring websocket

java - .length 函数始终返回 0

docker - 如何使用Docker的moby创建定制的容器系统?

java - java中唯一列表的列表

mysql - Bluemix - 将 Mobilefirst 容器绑定(bind)到 Cloud Foundry 应用程序