Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.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 - Fatal编程技术网

在java中维护排序集合,并具有索引访问权限

在java中维护排序集合,并具有索引访问权限,java,Java,我正在寻找一个集合,保持排序顺序以及索引访问。我的程序将有数十万次迭代,因此我不想继续调用Collections.sort,因为这样做成本太高。Java附带的标准集合都不支持这一点,但您可以实现自己的 实现这种集合的一种方法是使用排序数组。索引查找很容易。可以使用值查找。插入新值还将使用binarySearch()查找插入点,然后移动其余值以为新值腾出空间,根据需要自动扩展阵列。有关为什么不存在标准JDK排序列表的详细讨论,请参阅此问题/答:您可以使用二进制搜索在保持顺序的同时插入阵列列表,例如

我正在寻找一个集合,保持排序顺序以及索引访问。我的程序将有数十万次迭代,因此我不想继续调用Collections.sort,因为这样做成本太高。

Java附带的标准集合都不支持这一点,但您可以实现自己的


实现这种集合的一种方法是使用排序数组。索引查找很容易。可以使用值查找。插入新值还将使用
binarySearch()
查找插入点,然后移动其余值以为新值腾出空间,根据需要自动扩展阵列。

有关为什么不存在标准JDK排序列表的详细讨论,请参阅此问题/答:您可以使用二进制搜索在保持顺序的同时插入阵列列表,例如。