是这样,有一个int数组,里面大概有几百万条元素,其中后面n(已知)条为垃圾数据。
有人知道怎么截取这个数组,去掉垃圾数据么?
例如:int[] arr = {1,2,3,4,5,0,0,0,0,0};//0为垃圾元素,需要清除。
//最后arr={1,2,3,4,5};条件:
上面已经说了,数据量很大,几百万,所以内存基本上消耗完了(copy 方法行不通),而且时间上应该在10s完成截取(一般的家用计算机)。
大家一起讨论。
有人知道怎么截取这个数组,去掉垃圾数据么?
例如:int[] arr = {1,2,3,4,5,0,0,0,0,0};//0为垃圾元素,需要清除。
//最后arr={1,2,3,4,5};条件:
上面已经说了,数据量很大,几百万,所以内存基本上消耗完了(copy 方法行不通),而且时间上应该在10s完成截取(一般的家用计算机)。
大家一起讨论。
也许你的问题只是想象出来的,而不是实际中遇到的
可以定义一个类,把数组和数组有效长度放一起class IntArray{
int[] value;
int len;
}