排序地图<string,object [] =“”>

时间:2015-08-18 09:41:15

标签: java treemap

我已经创建了用户定义的地图,即

Map<String, Object[]> pass = new TreeMap<String, Object[]>();

这里我在for循环中添加数据,如下所示。

int row = 0;

 row++; 
 pass.put(row + "", new Object[] {"Data 1 : ","A"});
 row++;
 pass.put(row + "", new Object[] {"Data 2:", "B"});
 row++;
 pass.put(row + "", new Object[] {"Data 3:", "C"});
 row++;
 pass.put(row + "", new Object[] {"Data 4:", "D"});

但此数据与添加的订单不同。 Map以随机顺序存储这些数据。但我希望这些数据有序。需要做什么?

1 个答案:

答案 0 :(得分:7)

TreeMap将按照自然顺序对键进行排序(除非您在其构造函数中注入特定的Comparator)。

在这种情况下,它将使用String s的词典顺序。

字典顺序意味着:

  • 1将在2之前,
  • 之前
  • 10将在2 之前出现

如果您需要按数字顺序对键进行排序,请使用Integer(或任何Number)作为键。

如果您需要保留插入顺序而不关心排序键,则可以使用LinkedHashMap

正如Keith所指出的,here是用于词典String比较的Java文档。