HashMap中元素的排列顺序是不固定的,但下面的代码运行后怎么是固定顺序啊???????
import java.util.*;
import java.io.*;
public class HashMapDemo
{
public static void main(String args[])
{
HashMap hm=new HashMap();
//put(V key,K value) 向Map容器添加一个键值对
hm.put(new Integer(3),"C");
hm.put(new Integer(4),"D");
hm.put(new Integer(5),"E");
hm.put(new Integer(1),"A");
hm.put(new Integer(2),"B");
Set s=hm.keySet(); //获得hm的键的集合
Iterator i=s.iterator();
while(i.hasNext())
{
Object k=i.next();
Object v=hm.get(k); //取得键值所对应的值
System.out.print(" "+k+"="+v);
}
}
}
运行结果: 1=A 2=B 3=C 4=D 5=E
我意思是问为什么我用HashMap方法结果却是有顺序输出的?
追答楼上说得没错,你只有去具体看看他的算法才知道他内部是怎么排列的
hashmap是无序的吗?
hashmap是无序的。HashMap 是 Java 中的一种常用数据结构,用于存储键值对。在 Java 8 之前,HashMap 是无序的,也就是说,它不保证元素的存储顺序与插入顺序一致。但是从 Java 8 开始,HashMap 开始提供一种特殊的实现——LinkedHashMap,它可以保持元素的插入顺序。下面将详细解释HashMap的有序性。
如何对HashMap中的元素进行排序
HashMap是无序的集合,对里面的元素进行排序,需要借助其他有序的集合 传统的思路: 把每一个HashMap的键值对作为一个Entry 存入到ArrayList<Entry>里. 然后对ArrayList进行排序.Java8新思路: 利用流对集合进行处理,非常强大, 如果配合上Lambda表达式, 就是简洁且强大.参考代码 import java.util.HashMa...
Java中的HashMap加入元素时,是否可以根据自己定义的顺序加入元素得到自 ...
首先HashMap是无序的,想要有序可以用TreeMap,加入元素后自行排序,但是Map是键值对,它就算排序也是按key排序的,和元素没关系,如果你期望的是元素的排序,建议使用TreeSet,建立TreeSet的时候指定一个comparator.如果确定可以使用TreeSet你可以追问,如果不用,HashMap不能排序这是你要的答案 ...
hashmap是有序的还是无序的
无序的。HashMap在Java中是一种常用的数据结构,实现了Map接口。HashMap中的元素是无序的,遍历HashMap时,元素的顺序与插入的顺序不同。
关于java中HasMap的遍历输出不按顺序
第一种:能顺序遍历就用ArrayList第二种:先把hashMap的key 拿出来 然后把key 排序,通过HashMap的get(String key) 方法取出值 就好了
关于java中HasMap的遍历输出不按顺序
你没理解HashMap的本质,HashMap的存储是使用hash值算位置的,并不是像数组那样放到指定的位置。
如何对HashMap按键值排序
3.从HashMap恢复entry集合,如下所示。[html] view plain copy print?Set<Entry<String,Integer>> mapEntries = aMap.entrySet();4.从上述mapEntries创建LinkedList。我们将排序这个链表来解决顺序问题。我们之所以要使用链表来实现这个目的,是因为在链表中插入元素比数组列表更快。[java] view plain ...
JAVA中的map集合顺序如何与添加顺序一样
你用的是hashmap吧,HashMap是没有顺序的,如果你一定要让它有顺序,可以去实现排序接口,具体是哪个我忘了,不过你可以用TreeMap,这个集合是有序的,和添加顺序一样。
java map元素是否有顺序
map只是一个接口,他的实现类中 HashMap是无序的(只是说不是你插入时的顺序);LinkedHashMap是有序的(按你插入的顺序);TreeMap 是按key排序的;HashMap 类基本上等同于 Hashtable, 区别仅仅在于: HashMap 不是同步的,并且运行 null 值.。
hashmap 是无序的但是实际输出有序。。
hashMap是无序的,这里的无序是指输出的顺序和put进去的顺序不一样,这叫无序。至于输出的顺序总是一个,我觉得这个顺序可能和机器也有关,不同的机器输出的顺序都是不一样的。