gpt4 book ai didi

java - 在 Java 中按日期键对 map 进行排序

转载 作者:行者123 更新时间:2023-12-01 23:03:19 25 4
gpt4 key购买 nike

我正在尝试使用 TreeMap 按日期键对 java 中的 map 进行排序。这是我的代码

public static void sort() {

BufferedReader br;
String line;
String[] data;
Date date ;
DateFormat df = new SimpleDateFormat("dd-mm-YYY");

Map<Date,String> map = new TreeMap<Date,String>();

try {
br = new BufferedReader(new FileReader(
"/home/user/Desktop/train/2013-training_set.txt"));

int i=0;
while ((line = br.readLine()) != null) {
++i;
data = line.split(":");
map.put(df.parse(data[1]), line);
}

System.out.println(map.size()+" i = "+i);

Set st = mp.entrySet();
Iterator it = st.iterator();

while (it.hasNext()) {

Map.Entry me = (Map.Entry) it.next();
System.out.print(me.getKey() + "->:");
System.out.println(me.getValue());
}

} catch (Exception e) {
e.printStackTrace();
}
}

date[1] 包含字符串格式的日期,看起来像(例如 21-3-2013)。问题是它在 TreeMap(mp) 中仅存储 12 个键值对(每个月一个),而不是预期的 103(i) 个。有什么想法吗?

最佳答案

参见http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html .

使用 y 表示年份,M 表示一年中的月份,使用 d 表示月份中的日期。具体来说,小写 m 表示小时中的分钟,而大写 M 表示一年中的月份。

关于java - 在 Java 中按日期键对 map 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23187145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com