www.qcfz.net > jAvA 的 HAshMAp输出顺序的问题

jAvA 的 HAshMAp输出顺序的问题

额。。我记得早上我回答过了呀。。 HashMap输出的无序的,因为哈希算法存值和取值的时候没有顺序性。 想做到先进先出,之类的顺序。要用 LinkedHashMap 或TreeMap

java map 是一个接口,其有个子接口是SortedMap,进一步提供关于键的总体排序 的 Map。该映射是根据其键的自然顺序进行排序的,或者根据通常在创建有序映射时提供的 Comparator 进行排序。对有序映射的 collection 视图(由 entrySet、keySet 和...

hashCode() 方法得到其 hashCode 值——每个 Java 对象都有 hashCode() 方法,都可通过该方法获得它的 hashCode 值。得到这个对象的 hashCode 值之后,系统会根据该 hashCode 值来决定该元素的存储位置。 一般来说hasmap存的是无序的

HashMap基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。

public static void main(String[] args) { LinkedHashMap lhm = new LinkedHashMap(); lhm.put("1", "1"); lhm.put("2", "2"); lhm.put("3", "3"); lhm.put("4", "4"); lhm.put("5", "5"); lhm.put("6", "6"); for(int i=lhm.keySet().size();i...

既然用到了HashMap也就不需要元素的加入顺序了 hashmap是通过元素名来取得元素值的,如若非要加个顺序的话那就 把元素名从1开始命名然后按照顺序取就是了 不过麻烦在于移除了某个数值后不能的到连续的数值顺序了

这是偶然的,你用稍微复杂的数据测一下,肯定是无序的

import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; public class Demo{ public static void main(String[] args) { Map m = new HashMap(); m.put("001","张三"); m.put("005","李四"); m.put...

是的。 LinkedHashMap保存了记录的插入顺序,所以当你需要输出的顺序和输入的相同,那么用LinkedHashMap 可以实现,它还可以按读取顺序来排列。

hashmap是没有顺序的,有顺序的一般没人这么用的,都是通过list来进行确定顺序的对象添加的。因为list是有顺序的,先add的编号就小(从0开始),举例: List list = new linkedList(); list.add("0"); list.add("1"); 结果就是:list.get(1) =1;

网站地图

All rights reserved Powered by www.qcfz.net

copyright ©right 2010-2021。
www.qcfz.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com