作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
目前,我正在从 csv 文件中检索数据并将数据存储到 HashMap 中。但是,当我打印出 HashMap 的内容时,它的顺序与我想象的不同。如何格式化 HashMap ,使其按照 dec -> jan -> feb 的顺序打印?
代码
public static void main(String[] args) throws ParseException {
//readXLSXFile("C:\\Users\\User\\Desktop\\AllSgStuffdata2.xlsx");
HashMap<String, Integer> numberOfPost = new HashMap<String, Integer>();
int febCounter = 0;
int janCounter = 0;
int decCounter = 0;
String pattern = "MMM";
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
try (Reader reader = Files.newBufferedReader(Paths.get("file_path"));
CSVReader csvReader = new CSVReader(reader);){
String [] nextRecord;
while((nextRecord = csvReader.readNext()) != null) {
//Date date = sdf.parse(nextRecord[2]);
//System.out.println(date);
String retrievedate = nextRecord[2];
Date date = sdf.parse(retrievedate);
String strDate = sdf.format(date);
//System.out.println(strDate);
if(strDate.equals("Dec")) {
decCounter++;
}
else if (strDate.equals("Jan")) {
janCounter++;
}
else if (strDate.equals("Feb")) {
febCounter++;
}
}
numberOfPost.put("December", decCounter);
numberOfPost.put("January", janCounter);
numberOfPost.put("Feburary", febCounter);
System.out.println(numberOfPost);
} catch(IOException | ParseException e) {
System.out.print("File can't be found");
}
}
电流输出
{Feburary=365, December=303, January=582}
期望输出
{December=303, January=582, Feburary=365}
最佳答案
您可以使用链接 HashMap 来维护插入顺序
LinkedHashMap<String, String> lhm =
new LinkedHashMap<String, String>();
lhm.put("one", "1");
lhm.put("two", "2");
lhm.put("four", "3");
System.out.println(lhm);
输出->
{一=1,二=2,四=3}
关于java - 如何将键和值存储到 hashmap 中并相应地打印出来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60275079/
我是一名优秀的程序员,十分优秀!