来源:http://www.bjsxt.com/
1、S02E110_01Set接口及其实现类HashSet的基本用法
(1)Set接口是Collection接口的子接口,Set接口没有提供额外的方法,Set接口的特性是容器类中的元素是没有顺序的,而且不可以重复。
(2)Set容器可以与数学中“集合”的概念相对应。
(3)J2SDK API中所提供的Set容器类有HashSet,TreeSet等。
2、S02E111_01自定义实现HashSet
package com.test.hashset;
import java.util.HashMap;
public class MyHashSet {
HashMap hashMap;
int size;
private static final Object PRESENT = new Object();//键值对中的值
public MyHashSet(){
hashMap = new HashMap();
}
public void add(Object obj){
hashMap.put(obj, PRESENT);//Set的不可重复就是利用Map里面键对象的不可重复!
}
public int size(){
return hashMap.size();
}
public static void main(String[] args) {
MyHashSet myHashSet = new MyHashSet();
myHashSet.add("aaa");
myHashSet.add("bbb");
myHashSet.add(new String("aaa"));//键重复,写不入
System.out.println(myHashSet.size());
}
}