1、掌握Set 接口与 Collection 接口的关系
2、掌握Set 接口的常用子类:TreeSet 、HashSet
Collection 现在已经学习过了两种接口:List、Queue
Collection 就不能进行双向输出,因为没有提供get() 方法,但是Set 接口与 Collection 接口的定义一致,所以其本身也不能双向输出。
HashSet:使用散列的方式存放内容,本身没有顺序
import java.util.HashSet ;
import java.util.Set ;
public class HashSetDemo01{
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) ;
}
};
是无序排列的,而List 接口的内容插入的顺序就是其保存的顺序。
如果现在希望所有的内容可以自动进行排序的操作,则可以使用Set 中的第二个子类 —— +TreeSet.
import java.util.TreeSet ;
import java.util.Set ;
public class TreeSetDemo01{
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) ;
}
};
TreeSet 子类是可以排序的
总结:
1、Set 接口的基本作用
2、两个子类的区别
HashSet :散列存放
TreeSet :有序存放