Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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_Search_Sorting_Collections - Fatal编程技术网

Java 搜索和排序时要使用什么集合

Java 搜索和排序时要使用什么集合,java,search,sorting,collections,Java,Search,Sorting,Collections,关于在stackoverflow上搜索集合,有很多帖子。这里也有很多关于集合排序的帖子。我正在寻找一个解决方案(数据结构)处理这两个问题。地图非常适合搜索(即map.containsKey(键)、map.get(键))。ArrayList非常适合排序(使用简单的比较器)。 我的程序向HashMap添加元素(使用.containsKey(key)检查重复项)。然后将贴图值指定给Arraylist。这很简单(一行代码),但效率极低。它使用了两倍的内存 程序调用唯一的元素,但是重复的元素呢?我扫描了J

关于在stackoverflow上搜索集合,有很多帖子。这里也有很多关于集合排序的帖子。我正在寻找一个解决方案(数据结构)处理这两个问题。地图非常适合搜索(即map.containsKey(键)、map.get(键))。ArrayList非常适合排序(使用简单的比较器)。 我的程序向HashMap添加元素(使用.containsKey(key)检查重复项)。然后将贴图值指定给Arraylist。这很简单(一行代码),但效率极低。它使用了两倍的内存

程序调用唯一的元素,但是重复的元素呢?我扫描了Javadocs,发现有许多集合类型可以满足您的需要(map、list、table、set、tree、vector、priorityqueue等等)。是否有一个Java集合处理搜索和排序,包括重复元素?

您考虑过吗

映射根据其键的自然顺序进行排序,或者由映射创建时提供的
比较器进行排序,具体取决于使用的构造函数

你考虑过吗

映射根据其键的自然顺序进行排序,或者由映射创建时提供的
比较器进行排序,具体取决于使用的构造函数


你试过吗。它们将非常适合搜索(O(ln n)),并且将围绕一个比较器进行排序,您可以使用.values()方法获得该比较器。

您是否尝试了一个新的方法。它们将非常适合搜索(O(ln n)),并且将围绕一个比较器进行排序,您可以使用.values()方法获得该比较器。

所以您希望按键搜索,然后按值排序,对吗?那么您希望按键搜索,然后按值排序,对吗?看起来树形图可以搜索和排序键。它具有.containsKey(key)和.get(key)方法,以及在实例化期间使用比较器进行排序/排序的功能,以始终保持键的有序。请稍候。。。对值进行排序怎么样?看起来树形图可以对键进行搜索和排序。它具有.containsKey(key)和.get(key)方法,以及在实例化期间使用比较器进行排序/排序的功能,以始终保持键的有序。请稍候。。。对值进行排序怎么样?