Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 最有效的数据存储对象,用于对最大数量的元素进行排队_Java_Android_Algorithm_Data Structures - Fatal编程技术网

Java 最有效的数据存储对象,用于对最大数量的元素进行排队

Java 最有效的数据存储对象,用于对最大数量的元素进行排队,java,android,algorithm,data-structures,Java,Android,Algorithm,Data Structures,我需要一个存储类型,我可以设置元素的最大数量,每当我向尾部添加一些东西时,头部会根据需要被截断,开销很低。如果有必要,我当然可以手动完成。范例 最大值=1000 用整数1-1000填充它:[1,2,…,9991000] 添加数字1000-1500:[500501,…,14991500] 这必须是尽可能便宜的操作,因为我会在这个时候运行多个线程,一个做录音。我不在乎在头部元素弹出时保留它们,我想在批量操作中去除它们 我检查了SDK中的队列类型,不确定哪种类型可以满足这些需求,可能是某种链接队列 感

我需要一个存储类型,我可以设置元素的最大数量,每当我向尾部添加一些东西时,头部会根据需要被截断,开销很低。如果有必要,我当然可以手动完成。范例

最大值=1000

用整数1-1000填充它:[1,2,…,9991000]

添加数字1000-1500:[500501,…,14991500]

这必须是尽可能便宜的操作,因为我会在这个时候运行多个线程,一个做录音。我不在乎在头部元素弹出时保留它们,我想在批量操作中去除它们

我检查了SDK中的队列类型,不确定哪种类型可以满足这些需求,可能是某种链接队列


感谢您的帮助

使用环形缓冲区,也称为循环队列;这些可以实现为数组,因此它们特别便宜。有关Java中的实现,请参阅。

使用环形缓冲区,也称为循环队列;这些可以实现为数组,因此它们特别便宜。有关Java的实现,请参阅