HashSet概述:
特点:作为Set集合的一种,首先是无序的,不可重复的;允许存放null值;底层封装HashMap;实现是不同步的,线程不安全;
常用构造: public HashSet() :构造一个新的空 set,其底层 HashMap 实例的默认初始容量是 16,加载因子是 0.75。
HashSet内部封装了一个HashMap,并且Map的value值是常量,通过使用map的key值来存储信息,而HashMap的键不能重复,因此HashSet中的元素一定是非重复的。
具体代码如下:
package org.wrf.collections.Set;
import java.util.HashMap;
import java.util.Map;
/**
* 自定义HashSet
* Copyright © 2019 WRF. All rights reserved.
* 功能描述:
* 实现add方法添加元素
* @Package: org.wrf.collections.Set
* @author: knight
* @date: 2019年3月20日 下午9:29:14
*/
public class MyHashSet<E> {
private Map<E,Object> map;
private static final Object PRESENT=new Object();
public MyHashSet() {
map=new HashMap<E,Object>();
}
public void add(E e) {
map.put(e, PRESENT);
}
@Override
public String toString() {
StringBuilder sb=new StringBuilder();
sb.append("[");
for(E e:map.keySet()) {
sb.appen