关于java:HashMap可以始终保持相同的顺序吗?

HashMap can keep always the same order?

本问题已经有最佳答案,请猛点这里访问。

我想知道我的HashMap集合是否总是在同一个订单上

1
2
3
4
5
6
7
8
9
10
11
12
        Map<Integer, Long> map = new HashMap<Integer, Long>(0);

        for(Integer key : users) {
            map.put( key , (long) 0 );
        }

        for( ... ){
            ...
            if( ... ) ){
                map.put( t.get(key) , map.get(key) + 1);
            }
        }

我用ajax将此集合发送到javascript

1
2
3
                    $.each( jsonData[i].totalMap , function(key, value) {
                        rows.push(value);
                    });

我将它们放在我的控制器中,它将始终与Map元素的顺序相同吗?


如果键和值始终相同,则映射大小相同,HashMap以相同方式初始化,然后是。 但是,对于保证的迭代顺序,请使用LinkedHashMap


如果使用LinkedHashMap,则将保留顺序(即,默认情况下,键将始终按照它们插入Map中的顺序进行迭代)。