【发布时间】:2015-09-09 22:03:10
【问题描述】:
如果标题不清楚,我举个例子:
我有一个按第一列排序的数组 - date,我需要按照列 name 中值的出现顺序再次对其进行排序
data[100][4]
date | name | text | type
-----+------+------+------
2222 | z | wwww | 2
2221 | z | qqqq | 1
2220 | c | dasa | 2
2219 | b | dsad | 1
2218 | z | dfsa | 2
2217 | c | dasd | 1
这是排序后的数组:
order[100][4]
date | name | text | type
-----+------+------+------
2222 | z | wwww | 2
2221 | z | qqqq | 1
2218 | z | dfsa | 2
2220 | c | dasa | 2
2217 | c | dasd | 1
2219 | b | dsad | 1
我想将这些数据合并到一个字符串中,并在列之间插入一些符号以便将来检索它,添加到ArrayList,然后按名称检索。我已将data[i][1] 添加到HashMap 以确定唯一值的数量,因此我可以知道循环周期的数量。还有名称值的顺序让我感到困惑,因为HashMap 不保持顺序。
有谁知道如何轻松地对其进行排序?
【问题讨论】:
-
如果你想要排序,LinkedHashMap 会保留插入顺序。
-
使用 Java 集合和比较器。
标签: java sorting multidimensional-array