Java Hashmap中元素的顺序问题
2016-03-10 15:42
423 查看
java 的map是接口。
hashmap是无序实际上是错误的,只不过顺序是按照Hashcode顺序进行排序,主要按照哈希排序速度快而已。
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class HashMapTest {
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("a01", "111");
map.put("b02", "222");
map.put("c03", "333");
map.put("a04", "444");
Set<String> b= map.keySet();
Iterator<String> c = b.iterator();
while (c.hasNext()){
String key = (String)c.next();
String value =(String)map.get(key);
System.out.println(key.hashCode()+":"+ key +"-" +value);
}
}
}
输出结果:
94754:a01-111
94757:a04-444
95716:b02-222
96678:c03-333
hashmap是无序实际上是错误的,只不过顺序是按照Hashcode顺序进行排序,主要按照哈希排序速度快而已。
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class HashMapTest {
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("a01", "111");
map.put("b02", "222");
map.put("c03", "333");
map.put("a04", "444");
Set<String> b= map.keySet();
Iterator<String> c = b.iterator();
while (c.hasNext()){
String key = (String)c.next();
String value =(String)map.get(key);
System.out.println(key.hashCode()+":"+ key +"-" +value);
}
}
}
输出结果:
94754:a01-111
94757:a04-444
95716:b02-222
96678:c03-333
相关文章推荐
- ID3决策树的Java实现
- 使用Java编译Java源码
- JAVA语言书写各类图形
- JAVA的动态代理
- mac上的eclipse快捷键总结
- 做一个合格的程序猿之浅析Spring IoC源码(三)分析refresh()方法前的准备篇(一)
- Spring事务配置及事务的传播性与隔离级别详解
- Struts2中s标签换行table_tr的问题
- Spring如何使用JdbcTemplate调用存储过程的三种情况
- Spring 注解学习手札(三) 表单页面处理
- leetcode 215. Kth Largest Element in an Array | Java最短代码实现
- java反射给实体类赋值
- 为JDK增加新的jar包
- Java多线程基础:进程和线程之由来
- JAVA 异常处理机制
- Spring 注解学习手札(二) 控制层梳理
- java 中的this 关键字的用法
- Spring 中如何向 Bean 注入系统属性或环境变量
- java中equals方法的用法以及==的用法
- Java动态代理