1. HashSet
·基于HashMap实现的,HashSet底层使用HashMap来保存所有元素,因此HashSet 的实现比较简单,相关HashSet的操作,基本上都是直接调用底层HashMap的相关方法来完成。
public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, java.io.Serializable {
static final long serialVersionUID = -5024744406713321676L;
// 底层使用HashMap来保存HashSet中所有元素。
private transient HashMap<E,Object> map;
// 定义一个虚拟的Object对象作为HashMap的value,将此对象定义为static final。
private static final Object PRESENT = new Object();
public HashSet() {
map = new HashMap<E,Object>();
}
public Iterator<E> iterator() {
return map.keySet().iterator();
}
public int size() {
return map.size();
}
public boolean isEmpty() {
return map.isEmpty();
}
public boolean add(E e) {
return map.put(e, PRESENT)==null;
}
}
·HashMap中value的生成:系统构造一个static final的Object对象作为HashMap的value。
·存放的元素就是HashMap的keySet--不允许重复,无序,允许null;随机存取。
2.LinkedHashSet
·LinkedHashSet底层使用LinkedHashMap来保存所有元素,它继承与HashSet,其所有的方法操作与HashSet相同。
·仅仅提供了四个构造方法,并通过传递一个标识参数(作用仅仅是为了重载方法),调用父类的构造器构造一个LinkedHashMap来实现。
HashSet(int initialCapacity, float loadFactor, boolean dummy) {
map = new LinkedHashMap<E,Object>(initialCapacity, loadFactor);
}
- 大小: 11.5 KB
- 大小: 36.5 KB
分享到:
相关推荐
哈佛大学数据科学课程教学初探-最新教育文档.pdf哈佛大学数据科学课程教学初探-最新教育文档.pdf哈佛大学数据科学课程教学初探-最新教育文档.pdf哈佛大学数据科学课程教学初探-最新教育文档.pdf哈佛大学数据科学课程...
Android中滑屏初探 ---- scrollTo 以及 scrollBy方法使用说明 Android中滑屏初探 ---- scrollTo 以及 scrollBy方法使用说明 Android中滑屏初探 ---- scrollTo 以及 scrollBy方法使用说明
ODI_11G初探-简单数据传输.pdf
Springboot初探---FreeMarker 之 HelloWorld,很好的资源
广播文化类线性节目”本土化”初探------以陕西交通广播”长安处处有故事”为例.zip
广播文化类线性节目”本土化”初探------以陕西交通广播”长安处处有故事”为例.doc
广播文化类线性节目”本土化”初探------以陕西交通广播”长安处处有故事”为例-论文.zip
《基础西班牙语》课堂教学模式改革初探--
人事档案社会化管理初探--也谈人档分离-论文.zip
物流配送中心选址初探-论文.zip
舍区教育之初探--以重庆大学为例,李志华,,随着社会的发展,如何创建既符合本校特色,又有益于社会需求的人才培养新模式已经成为重庆大学制定发展规划的首要问题。本文分析
c语言程序设计教材建设初探-程序设计-设计.pdf
海南树木园的建立和管护初探-论文.zip
“营改增”背景下房地产开发企业新旧项目的税收筹划初探--
冷库消防安全设计初探-安全管理-行业安全-消防安全.docx
医院消防安全管理初探-安全管理-行业安全-消防安全.docx