Set接口
- Set接口是Collection接口的子接口,Set接口没有提供额外的方法,Set接口的特性是容器类中的元素是i没有顺序的,而且不可以重复。
- Set容易可以在数学中“集合”的概念相对应。
- J2SDK API中 所提供的Set容器类有HashSet、TreeSet等
package com.pkushutong.Collection;
import java.util.HashSet;
import java.util.Set;
/**
* 测试Set的常用方法
* @author dell
*
*/
public class Test07 {
public static void main(String[] args) {
Set set = new HashSet();
set.add("aaa");
set.add("bbb");
set.add(new String("aaa"));
//输出位2,不能出现重复的值,equal比较
System.out.println(set.size());
}
}
自己定义HashSet
package com.pkushutong.Collection;
import java.util.HashMap;
/**
* 自己定义HashSet
* @author dell
*
*/
public class SxtHashSet {
//存放键值
HashMap map;
private static final Object PRESENT = new Object();
public int size(){
return map.size();
}
public SxtHashSet() {
map = new HashMap();
}
public void add(Object o){
map.put(o, PRESENT); //set的不可重复就是利用了map里面键对戏那个的不可重复
}
public static void main(String[] args) {
SxtHashSet s = new SxtHashSet();
s.add("aaa");
s.add(new String("aaa"));
System.out.println(s.size());
}
}