Java 排序映射

Java 排序映射,java,treemap,Java,Treemap,我已经创建了用户定义的地图 Map<String, Object[]> pass = new TreeMap<String, Object[]>(); 但此数据与添加的订单不同。Map以随机顺序存储这些数据。但我希望这些数据井然有序。需要做什么?树映射将按键的自然顺序对键进行排序,除非在其构造函数中插入特定的比较器 在本例中,它将使用字符串的字典顺序 词典顺序意味着: 1将在2之前到达,但是 10也比2早! 如果需要按数字顺序对键进行排序,请使用整数或任意数字作为键 如

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

Map<String, Object[]> pass = new TreeMap<String, Object[]>();
但此数据与添加的订单不同。Map以随机顺序存储这些数据。但我希望这些数据井然有序。需要做什么?

树映射将按键的自然顺序对键进行排序,除非在其构造函数中插入特定的比较器

在本例中,它将使用字符串的字典顺序

词典顺序意味着:

1将在2之前到达,但是 10也比2早! 如果需要按数字顺序对键进行排序,请使用整数或任意数字作为键

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

正如所指出的,这是用于词典字符串比较的Java文档

树映射将按键的自然顺序对键进行排序,除非在其构造函数中插入特定的比较器

在本例中,它将使用字符串的字典顺序

词典顺序意味着:

1将在2之前到达,但是 10也比2早! 如果需要按数字顺序对键进行排序,请使用整数或任意数字作为键

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


正如所指出的,这是用于词典字符串比较的Java文档

为什么不使用Map,或者,嗯,List呢?它是按字符串排序的,就像您编码它一样。例如,如果您打算按数字排序,我建议您改为使用整数。Map是键值“存储”,您的问题没有意义。树形图中的数据绝对不是随机顺序。您对顺序的定义可能与树映射的定义不同。与其使用对象[],为什么不为数据使用实际的类?为什么不使用映射,或者,嗯,使用列表?它按字符串排序,就像您编写的那样。例如,如果您打算按数字排序,我建议您改为使用整数。Map是键值“存储”,您的问题没有意义。树形图中的数据绝对不是随机顺序。您对顺序的定义可能与树映射的定义不同。与其使用对象[],为什么不为您的数据使用实际的类呢?只需添加:以下是最新的词典comparisons@Mena:谢谢。。。解决了的。。。在这里更改了我的地图。。。映射过程=新树映射;我想补充一点:这是词典编纂的最新进展comparisons@Mena:谢谢。。。解决了的。。。在这里更改了我的地图。。。映射过程=新树映射;
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"});