为什么以及何时使用树状图
2022-09-01 15:33:12
有人可以告诉我何时以及为什么使用TREEMAP吗?我浏览了此链接,但没有找到我的答案。
根据我的想法,我们使用树状图根据您的键对数据进行排序,并且我们也可以通过其他方式实现。
有人可以告诉我何时以及为什么使用TREEMAP吗?我浏览了此链接,但没有找到我的答案。
根据我的想法,我们使用树状图根据您的键对数据进行排序,并且我们也可以通过其他方式实现。
假设您要实现字典并按字母顺序打印,则可以使用TreeMap和TreeSet的组合:
public static void main(String args[]) {
Map<String, Set<String>> dictionary = new TreeMap<>();
Set<String> a = new TreeSet<>(Arrays.asList("Actual", "Arrival", "Actuary"));
Set<String> b = new TreeSet<>(Arrays.asList("Bump", "Bravo", "Basic"));
dictionary.put("B", b);
dictionary.put("A", a);
System.out.println(dictionary);
}
所有排序都是自动完成的,并打印:
{A=[实际,精算师,到达],B=[基本,布拉沃,颠簸]}
当然,您也可以手动对结构进行排序,但是使用TreeMap/Set可以更有效,减少代码行数(=错误数)并且更具可读性。
这是按某个键对对象进行排序的有效方法。如果随机访问对您也很重要,那么TreeMap就是答案。使用此数据结构,您可以按顺序进行迭代。
如果不需要随机访问,则使用排序的集合/包或列表。