Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.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_Algorithm_Data Structures_Tree_Binary Search Tree - Fatal编程技术网

java中创建新树的最佳方法,该树包含基于特定条件的有序数据

java中创建新树的最佳方法,该树包含基于特定条件的有序数据,java,algorithm,data-structures,tree,binary-search-tree,Java,Algorithm,Data Structures,Tree,Binary Search Tree,存在一个将地震信息存储为对象的树(包含震级、地震日期、地震深度等数据)。我想根据特定的标准(如地震深度(上升或下降))过滤对象,并将每个对象添加到一个新的树中,该树将是根据特定标准排序的所有地震。我不习惯每次都对同一棵树进行排序,而是对不同的过滤器使用不同的树,然后能够使用顺序搜索来获得特定的地震对象。还可以使用多个过滤器。我不需要代码,而是需要解决这个问题的算法思想,特别是如何遍历原始树,然后按顺序将对象添加到新树中 您可以将a与自定义比较器一起使用(默认情况下,它按键的自然顺序排序) 要将它

存在一个将地震信息存储为对象的树(包含震级、地震日期、地震深度等数据)。我想根据特定的标准(如地震深度(上升或下降))过滤对象,并将每个对象添加到一个新的树中,该树将是根据特定标准排序的所有地震。我不习惯每次都对同一棵树进行排序,而是对不同的过滤器使用不同的树,然后能够使用顺序搜索来获得特定的地震对象。还可以使用多个过滤器。我不需要代码,而是需要解决这个问题的算法思想,特别是如何遍历原始树,然后按顺序将对象添加到新树中

您可以将a与自定义比较器一起使用(默认情况下,它按键的自然顺序排序)

要将它与自定义的
comparator
一起使用,只需将比较器传递到
TreeMap的构造函数中即可:

    TreeMap<SomeKey, Earthquake> earthquakes =
            new TreeMap<>(new YourCustomEarthquakeComparator());
TreeMap地震=
新树形图(新YourCustomEarthquakeComparator());
然后,为了让不同的树以不同的顺序对地震进行排序,您只需定义几个比较地震不同场的比较器