赞
踩
参考文献:http://zhangshixi.iteye.com/blog/674856l
参考文献:http://www.cnblogs.com/ITtangtang/p/3948610.htmll
参考文献:http://zhangshixi.iteye.com/blog/672697l
参考文献:http://blog.csdn.net/zheng0518/article/details/42199477
参考文献:http://blog.csdn.net/zheng0518/article/details/42199477
参考文献:http://zhangshixi.iteye.com/blog/673143l
参考文献:http://zhangshixi.iteye.com/blog/673789l
参考文献:http://zhangshixi.iteye.com/blog/673319l
Set和Map的关系
Set代表无序,不能重复的集合;Map代表Key-Value组成的集合,是一种关联数组。Map的Key要求是不能重复,没有顺序。把Map的所有Key组合起来就是Set。Set keySet();
HashMap和HashSet原理
HashMap底层是用数组链表存储的,元素是Entry。向HashMap添加时,由key的hashcode决定Entry存储位置,当两个Entry对象的key的hashcode相同时,由key的equals()方法返回值决定采用覆盖行为(返回true),还是在链表头添加新的Entry(返回false)。Collection values(),返回集合对象,但不能添加元素,主要是用来遍历。自定义类如果放入HashMap或HashSet中,需要重写equals和hashcode方法。
HashSet s = new HashSet s.add(new Name("1")); System.out.println(s.contains(new Name("1")));如果不对Name类重写hashcode,equals,输出结果是false。因为默认的不能保证结果一样。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。