我有一个hashMap,它具有以下值作为键value(sql date , integer)
对:
a.put("31-05-2011",67);
a.put("01-06-2011",89);
a.put("10-06-2011",56);
a.put("25-05-2011",34);
当我尝试使用以下命令基于键对hashMap进行排序时:Map Modify_a = new TreeMap(a); 并显示如下键:
01-06-2011,10-06-2011,25-05-2011, 31-05-2011
但我希望将键排序为
31-05-2011,25-05-2011,01-06-2011 ,10-06-2011
我可以看到这些值是基于前2位数字(即日期值)进行排序的,但是我还需要考虑月份值并首先基于月份进行排序,然后针对每个月份对相应的天数进行排序。有任何线索吗?
您可以使用像
Map<Date, Integer> m = new HashMap<Date, Integer>();
DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
m.put(new java.sql.Date(dateFormat.parse("31-05-2011").getTime()),67);
m.put(new java.sql.Date(dateFormat.parse("01-06-2011").getTime()),89);
m.put(new java.sql.Date(dateFormat.parse("10-06-2011").getTime()),56);
m.put(new java.sql.Date(dateFormat.parse("25-05-2011").getTime()),34);
Map<Date, Integer> m1 = new TreeMap(m);
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
for (Map.Entry<Date, Integer> entry : m1.entrySet())
{
System.out.println(df.format(entry.getKey()));
}
我有一个代码,我需要跟踪不同类别中给定位置的一些值(随机出现)(并且数量相当大;~40,000),所以我认为散列散列是最好的方法,类别作为第一层键,位置作为第二层,值作为值;类似于: 然后,我需要按照这两个类别的顺序对它们进行排序和打印,然后进行定位,得到如下输出文件: 但是我无法计算出嵌套排序的语法(或者,有人比这种方法有更好的想法吗?
例如,我有Hashmap 如何根据键的某些属性对Map进行排序?
我有一个带有自动增量主键列和datetime列的表。我想返回按创建日期排序的行。 我按日期或主键订购有关系吗?我想这是一个更快的by主键,而不是日期格式或时间戳。新记录将具有更大的主键。然而,每个人都按日期字段排序。
问题内容: 假设我有一些新闻存储在哈希中。我有不同的哈希值(每个哈希值代表一个消息): 我想用KEYS命令检索所有键: 密钥未排序的问题: 我想以正确的顺序检索键列表。我不确定哈希是否是我需要的结构。但是,根据redis文档: Redis哈希是字符串字段和字符串值之间的映射,因此它们是表示对象的理想数据类型(例如,具有多个字段(例如名称,姓氏,年龄等)的用户): 将我的新闻对象存储在散列中似乎是个
问题内容: 在过去的一个小时中,我已经阅读了很多文章,但是对于在Hashmap中使用不可变对象作为键的概念,我仍然不太清楚。我有一个哈希图,其键为字符串。哈希图中的值是MyStore,其中MyStore表示有关我拥有的商店的信息。字符串代表地址。在我的代码中,我拥有的逻辑是,我首先在映射中查找该键(如果存在)->获取其值,如果不存在,则将其放入哈希映射。我的经理刚刚告诉我,密钥会在将来发生变化,也
问题内容: 我只是在阅读有关Java中HashMap和HashTable类之间的区别。在那里,我发现了一个区别,即前者允许空键,而后者则没有特权。就HashMap的工作而言,我知道,它在键上调用hashcode方法,以查找要在其中放置该键值对的存储桶。我的问题来了:如何计算空值的哈希码?或者空键的哈希码是否有任何默认值(如果需要,请指定该值)? 问题答案: 从HashMap: 如果进一步看,您会发