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

jAvA 的 HAshMAp输出顺序的问题

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

HashMap输出是无序的,如果想做到 先进先出,请用 LinkedHashMap或者treeMap

第一种:能顺序遍历就用ArrayList第二种:先把hashMap的key 拿出来 然后把key 排序,通过HashMap的get(String key) 方法取出值 就好了

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

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...

你可以使用json-lib插件。 使用以下的代码将map转换成json传: JSONObject obj = JSONObject.fromObject(map); System.out.println(obj.toString());

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

map只是一个接口,他的实现类中 HashMap是无序的(只是说不是你插入时的顺序); LinkedHashMap是有序的(按你插入的顺序); TreeMap 是按key排序的; HashMap 类基本上等同于 Hashtable, 区别仅仅在于: HashMap 不是同步的,并且运行 null 值.。

通过map中的LinkedHashMap实现就可以。 HashMap headers = new LinkedHashMap();//创建一个map headers.put("Cache-Control", "no-cache");//给map赋第一个值 headers.put("Connection", "close");//给map赋第二个值 Set keys1 = headers.keySet...

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