在Java中使用Set,可以方便地将需要的类型以集合类型保存在一个变量中.主要应用在显示列表.Set是一个不包含重复元素的 collection。更确切地讲,set 不包含满足 e1.equals(e2) 的元素对 e1 和 e2,并且最多包含一个 null 元素。正如其名称所暗示的,此接口模仿了数学上的 set 抽象。

例如:

import java.util.*;
public class test {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
   Set  set=new HashSet();
   set.add("abc");
   set.add("cde");
   set.add("efg");
   set.add("fgh");   
   set.add("abc"); //重复的abc,set会自动将其去掉  
   System.out.println("size="+ set.size() );
    List list = new ArrayList();
    list.add("abc");
    list.add("aaa");
    list.add("fff");
    set.addAll(list); //将list中的值加入set,并去掉重复的abc
         System.out.println("size="+ set.size() );
        for( Iterator   it = set.iterator();  it.hasNext(); )
        {            
            System.out.println("value="+it.next().toString());           
        }
 }   

}

 JAVA集合主要分为三种类型:
    Set(集)
    List(列表)
    Map(映射)
    Collection 接口
    Collection是最基本的集合接口,声明了适用于JAVA集合(只包括Set和List)的通用方法。
    Set 和List 都继承了Conllection,Map没有
    Collection接口的方法:
    boolean add(Object o)   :向集合中加入一个对象的引用
    void clear()                        :删除集合中所有的对象,即不再持有这些对象的引用
    boolean isEmpty()           :判断集合是否为空
    boolean contains(Object o): 判断集合中是否持有特定对象的引用
    Iterartor iterator()              : 返回一个Iterator对象,可以用来遍历集合中的元素
    boolean remove(Object o):从集合中删除一个对象的引用
    int size()                               :返回集合中元素的数目
    Object[] toArray()                 :返回一个数组,该数组中包括集合中的所有元素
    关于:Iterator() 和toArray() 方法都用于集合的所有的元素,前者返回一个Iterator对象,后者返回一个包含集合中所有元素的数组。
    Iterator接口声明了如下方法:
    hasNext(): 判断集合中元素是否遍历完毕,如果没有,就返回true
    next()       :返回下一个元素
    remove():从集合中删除上一个有next()方法返回的元素。
    Set(集合):
    Set是最简单的一种集合。集合中的对象不按特定的方式排序,并且没有重复对象。
    Set接口主要实现了两个实现类:
    HashSet : HashSet类按照哈希算法来存取集合中的对象,存取速度比较快
    TreeSet   : TreeSet类实现了SortedSet接口,能够对集合中的对象进行排序。
    Set 的用法:
    存放的是对象的引用,没有重复对象
   

Set set=new HashSet();
    String s1=new String("hello");
    String s2=s1;
    String s3=new String("world");
    set.add(s1);
    set.add(s2);
    set.add(s3);
    System.out.println(set.size());//打印集合中对象的数目 为 2。

  
    Set 的 add()方法是如何判断对象是否已经存放在集合中?
   

boolean isExists=false;
    Iterator iterator=set.iterator();
    while(it.hasNext())           {
    String oldStr=it.next();
    if(newStr.equals(oldStr)){
    isExists=true;
    }
    }