Java集合之HashSet
来源:互联网 发布:java微信客服系统源码 编辑:程序博客网 时间:2024/06/05 07:33
HashSet 实现了Set接口,它的底层是HashMap的key集合,所以它私有属性之一如下: private transient HashMap<E,Object> map;
构造方法
1. 无参构造
public HashSet() { map = new HashMap<>();}
2. 带参构造
public HashSet(Collection<? extends E> c) { map = new HashMap<>(Math.max((int) (c.size()/.75f) + 1, 16)); addAll(c);}public HashSet(int initialCapacity, float loadFactor) { map = new HashMap<>(initialCapacity, loadFactor);}public HashSet(int initialCapacity) { map = new HashMap<>(initialCapacity);}HashSet(int initialCapacity, float loadFactor, boolean dummy) { //其实我不是很清楚这个布尔值放这里有啥用,望告知。 map = new LinkedHashMap<>(initialCapacity, loadFactor);}
常用方法
1. size()
public int size() { return map.size();}
返回map的size。
2. contains(Object o)
public boolean contains(Object o) { return map.containsKey(o);}
查看map中是否含有这个key。
3. add(E e)
private static final Object PRESENT = new Object();public boolean add(E e) { return map.put(e, PRESENT)==null;}
往map中放入一对key为e的键值对,其中的值为PRESENT,由此看出,一个HashSet底层的map所有的key都对应同一个value,即多对一。
4. remove(Object o)
public boolean remove(Object o) { return map.remove(o)==PRESENT;}
直接调用map的remove方法。
0 0
- Java集合之HashSet
- java集合之HashSet
- Java集合之HashSet
- Java集合之HashSet
- Java集合之HashSet
- java 之 集合(hashSet)示例
- java集合框架之HashSet
- Java集合之Set(HashSet)
- Java集合系列之HashSet源码分析
- java学习之Set集合、HashSet
- Java集合之HashSet和LinkedHashSet
- java集合框架之HashSet类
- Java集合之HashSet源码分析
- JAVA集合之---TreeSet、HashSet、EnumSet
- Java基础之集合框架--HashSet
- Java集合之HashSet,LinkedHashSet源码分析
- 小东吖 之 java Set接口 HashSet集合 TreeSet集合
- Set集合之HashSet
- 【jzoj5093】【GDSOI2017第四轮模拟day3】【字符串匹配】【哈希】
- 51NOD 1106质数检测
- angularjs1.5 组件内用函数向外传值
- 河南省第九届大学生程序设计竞赛 题解
- linux运算符
- Java集合之HashSet
- Linux之make的用法讲解
- 请求重定向与请求转发的区别
- switch分支语句
- [codevs3287]货车运输
- 一文读懂 CNN、DNN、RNN 内部网络结构区别
- matlab线性规划
- Android 动态Tap切换字体变色下划线移动
- 用户态和内核态的转换 (转)