TreeMap到Array。阵列是否保留订单?

时间:2018-02-18 16:30:52

标签: java arrays sorting treemap

每次,如果我将相同的值放到treeMap中,treeMap中的数据顺序将是相同的,对吧? VM等等?我想知道,如果我按照以下方式将treeMap转换为数组,我会得到排序数组,每次都以相同的顺序为固定的treeMap。

 Map<String, String> treeMap = new TreeMap<String, String>();
 treeMap.put("a","1");
 ...
 treeMap.put("zzz","1000");
 String[] myArray = treeMap.values().toArray(new String[treeMap.values().size()]);

如果我执行上面的代码,我总是会收到相同的myArray [100]值?我假设所有键都不同。

1 个答案:

答案 0 :(得分:3)

values()被记录为“按相应键的升序排列。”

Collection.toArray()被记录为以迭代顺序返回元素,因为集合上有排序保证。