1. 知识拓展
1.1 HashSet和HashMap
1.1.1 HashSet
HashSet是实现Set< E >接口的一个实体类,数据以哈希表的形式存放,特点是不允许有重复元素且无序存放元素。既然是实现了Set< E >接口,那Set< E >接口的特性是什么呢?
- Set接口继承了Collection接口,故包含Collection接口的所有方法。
- 无序(存储和取出顺序不一致,也有可能一致),但元素唯一,不允许有重复。
- 实现类有HashSet,底层数据是哈希表;和TreeSet,底层数据是红黑二叉树。
如何初始化HashSet的值呢?
public static final String[] SET_VALUES = new String[] {
"a", "b" };
public static final Set<String> MY_SET = new HashSet<>(Arrays.asList(SET_VALUES));
private final static HashSet<Character> vowels = new HashSet<>(
Arrays.asList('a', 'e', 'o', 'i', 'u', 'A', 'E', 'O', 'I', 'U'));
HashSet<String> h = new HashSet<String>(