特点:元素不重复,无序


package SetDemo;

import java.util.HashSet;
import java.util.Set;

public class SetDemo {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Set<String> set = new HashSet<String>();
set.add("hello");
set.add("world");
set.add("java");
set.add("hello");
set.add("world");
set.add("java");
for(String s : set){
System.out.println(s);
}
// hello java world
//同时验证了 无序 不重复
}

}

而在用set存储自定义对象时,不重复就没有这么容易实现了。究其(set.add())底层,它是依赖对象的hashCode方法和equles方法判断两个对象是否一样,所以我们需要自己重写这两个方法,当然eclips也可以帮我们生成。


LinkedHashSet:

特点:既不重复,又有序。

TreeSet:

二叉树结构,自然排序,比较器排序,不重复。