Java 如何检查Hashmap';什么是第一要素?

Java 如何检查Hashmap';什么是第一要素?,java,hashmap,Java,Hashmap,calleruserid=1。如果key=1 ie 4的值是最小值,我打印“good call” 希望我现在明白了 我的编码方式有什么变化吗?哈希映射没有排序。它没有第一个元素。哈希映射未排序。它没有第一个元素。s不保证顺序 此类不保证地图的顺序;在里面 特别是,它不能保证订单保持不变 随着时间的推移 从 要保持插入顺序,应使用 哈希表和链表映射接口的实现,带 可预测的迭代顺序。此实现不同于HashMap 因为它维护了一个贯穿其所有应用程序的双链接列表 条目。此链表定义迭代顺序,即 通常是将关

calleruserid=1。如果key=1 ie 4的值是最小值,我打印“good call”

希望我现在明白了


我的编码方式有什么变化吗?

哈希映射没有排序。它没有第一个元素。

哈希映射未排序。它没有第一个元素。

s不保证顺序

此类不保证地图的顺序;在里面 特别是,它不能保证订单保持不变 随着时间的推移


要保持插入顺序,应使用

哈希表和链表映射接口的实现,带 可预测的迭代顺序。此实现不同于HashMap 因为它维护了一个贯穿其所有应用程序的双链接列表 条目。此链表定义迭代顺序,即 通常是将关键点插入地图的顺序 (插入顺序)。请注意,如果使用键,则插入顺序不受影响 将重新插入到地图中


要维护排序顺序(自然排序顺序,或由定义),您应该使用实现的任何类

进一步提供其键的总顺序的映射。地图是 根据其键的自然顺序排序,或通过 比较器通常在排序映射创建时提供。此订单 在遍历已排序映射的集合视图时反映

From

不保证订单

此类不保证地图的顺序;在里面 特别是,它不能保证订单保持不变 随着时间的推移


要保持插入顺序,应使用

哈希表和链表映射接口的实现,带 可预测的迭代顺序。此实现不同于HashMap 因为它维护了一个贯穿其所有应用程序的双链接列表 条目。此链表定义迭代顺序,即 通常是将关键点插入地图的顺序 (插入顺序)。请注意,如果使用键,则插入顺序不受影响 将重新插入到地图中


要维护排序顺序(自然排序顺序,或由定义),您应该使用实现的任何类

进一步提供其键的总顺序的映射。地图是 根据其键的自然顺序排序,或通过 比较器通常在排序映射创建时提供。此订单 在遍历已排序映射的集合视图时反映


从使用
useridTotalRankMapSorted.entrySet().iterator().next()
访问第一项。最好确保您确实使用了已排序的地图

使用
useridTotalRankMapSorted.entrySet().iterator().next()
访问第一项。最好确保您确实使用了已排序的地图

您可以使用排序的
Map
s,如
TreeMap
,获取第一个元素的最简单方法是使用迭代器(如果您希望保持插入顺序
LinkedHashMap
):


您可以使用排序的
Map
s,如
TreeMap
,获取第一个元素的最简单方法是使用迭代器(如果您希望保持插入顺序
LinkedHashMap
):


您需要创建一个
LinkedHashMap
来获取第一个插入的元素

然后->

Map m = new TreeMap(); // get it from somewhere else otherwise it doesn't make sense
Set s = m.entrySet();
Iterator i = s.iterator();
if (i.hasNext()) {
    Object firstElement = i.next();
}

您需要创建一个
LinkedHashMap
来获取第一个插入的元素

然后->

Map m = new TreeMap(); // get it from somewhere else otherwise it doesn't make sense
Set s = m.entrySet();
Iterator i = s.iterator();
if (i.hasNext()) {
    Object firstElement = i.next();
}

1.
HashMap
是一个,它不实现
排序映射
接口

2.如果要按顺序获取数据,请使用
TreeMap


3。如果希望节点彼此链接,请使用
LinkedHashMap
,然后获取第一个元素。

1。
HashMap
是一个类,它不实现
排序映射
接口

2.如果要按顺序获取数据,请使用
TreeMap


3。如果希望节点彼此链接,请使用
LinkedHashMap
,然后获取第一个元素。

首先,正如大家所说,HashMap没有排序

其次,由于映射中的键是唯一的(不能将键映射到多个值)

为什么不直接从映射中获取(
map.get(callinguserId)
),通过对条目进行迭代,您获得了什么


无论如何,if只会出现一次。

首先,正如大家所说,HashMap没有排序

其次,由于映射中的键是唯一的(不能将键映射到多个值)

为什么不直接从映射中获取(
map.get(callinguserId)
),通过对条目进行迭代,您获得了什么


无论如何,if只会出现一次。

哈希映射不是排序映射。@JonathannewUI感谢您的评论。你永远都不知道,也许OP一直忽略了我的所有答案。不管你的
sortByComparator
方法看起来如何,它肯定没有你想要的效果。显然,您希望按值(排名)排序;你根本不应该用地图来做那件事。您可以将映射的所有条目放入一个列表中,然后使用合适的比较器对该列表进行排序。哈希映射不是已排序的映射。@JonathanNewmuis感谢您的评论。你永远都不知道,也许OP一直忽略了我的所有答案。不管你的
sortByComparator
方法看起来如何,它肯定没有你想要的效果。显然,您希望按值(排名)排序;你根本不应该用地图来做那件事。您可以将所有地图条目放入一个列表中,然后使用合适的比较器对该列表进行排序。
L
Map m = new TreeMap(); // get it from somewhere else otherwise it doesn't make sense
Set s = m.entrySet();
Iterator i = s.iterator();
if (i.hasNext()) {
    Object firstElement = i.next();
}
useridTotalRankMapSorted.entrySet().iterator().next().getKey()
useridTotalRankMapSorted.entrySet().iterator().next().getValue()