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"});