集合中Set接口与Collection接口,常用子类TreeSet,HashSet.

Set接口与List接口的不同之处在于:

不允许有重复的数据

定义如下:

public interface Set<E>extends Collection<E>

主要方法与collection接口差不多。

常用子类:

散列存放:HashSet

有序存放:TreeSet

 

Set接口实例无法像List接口一样双向输出。

package 类集;
import java.util.HashSet;
import java.util.Set;
public class test1{
    public static void main(String args[]){
        Set<String> allSet = new HashSet<String>() ;
        allSet.add("A") ;    // 增加内容
        allSet.add("B") ;    // 增加内容
        allSet.add("C") ;    // 增加内容
        allSet.add("C") ;    // 重复内容
        allSet.add("C") ;    // 重复内容
        allSet.add("D") ;    // 增加内容
        allSet.add("E") ;    // 增加内容
        System.out.println(allSet) ;
    }
};

输出:

[A, B, C, D, E]

HashSet是无序排列存放的。List的内容插入顺序就是保存顺序。

如果希望所有内容进行自动排序,则可以使用TreeSet类

无序存放后,自动排序。

package 类集;
import java.util.Set;
import java.util.TreeSet;
public class test1{
    public static void main(String args[]){
        Set<String> allSet = new TreeSet<String>() ;
        allSet.add("C") ;    // 增加内容
        allSet.add("C") ;    // 重复内容
        allSet.add("C") ;    // 重复内容
        allSet.add("D") ;    // 增加内容
        allSet.add("B") ;    // 增加内容
        allSet.add("A") ;    // 增加内容
        allSet.add("E") ;    // 增加内容
        System.out.println(allSet) ;
    }
};

 

posted @ 2016-12-25 23:42  美好的明天  阅读(303)  评论(0编辑  收藏  举报