/********************************************************************************
*文件功能:
* 1--Set接口的使用
* 2--Set接口的简介:
* 1--Set接口不能加入重复的元素,但是Set接口可以---排序,但是List接口中,不能加入重复的元素,这是Set接口
* 和List接口两者最大的区别
* 2--Set接口常用的子类:
* 1--散列存放---HashSet
* 2--有序存放---TreeSet
* 3--HashSet结果分析:
* 1--我们可以看到,当我们用Set接口的子类HashSet去实例化Set对象时,它打印出来的结果是---按数据对象在集合中
* 存储位置的顺序打印的,并没有对数据对象进行排序
* 4--TreeSet结果的分析:
* 1--我们可以看到,当我们用TreeSet去实例化Set接口对象时,它打印出来的结果是有序的,我们所说的Set接口是有序
* 的,其实也就是说Set接口中的TreeSet是有序的
* 5--测试一下这个结合的remove()方法
*环境:
* Eclipse+Jdk1.8
*地点:
* 陕西师范大学
*时间:
* 2016.4.17
********************************************************************************/
package com.demo.set;
import java.util.HashSet;
import java.util.Set;
import java.util.TreeSet;
public class SetDemo01 {
public static void main(String args[]){
//【1】我们先来创建一个Set集合,它也是一个接口类型,是一个带有泛型类型的接口类型
Set<String> s=null;
/*//【2】由于Set接口是一个泛型类型的--接口,接口不能直接进行实例化,所以,我们还是利用Set接口的子类去实例化
//Set接口的对象,此块利用了---对象的多态性
s=new HashSet<String>();
//【3】我们也可以利用add()的方法给HashSet集合添加数据
s.add("HashSet_1");
s.add("HashSet_2");
s.add("HashSet_3");
s.add("HashSet_4");
s.add("HashSet_5");
//【4】此块不需要for循环,直接打印Set的对象
System.out.println(s);*/
//【2】此块,我们使用Set接口的子类TreeSet类去实例化Set接口的对象
s=new TreeSet<String>();
//【3】通过Set接口的成员方法,向集合添加数据
s.add("C");
s.add("D");
s.add("E");
s.add("A");
s.add("B");
s.add("F");
s.add("G");
s.add("H");
//【4】直接打印Set接口,或者说HashSet的对象
System.out.println(s);
//【5】测试一下remove()成员方法
s.remove("A");
System.out.println(s);
}
}