1.HashSet
package one.ll;
/*
* 1.不能保证元素的排列顺序,顺序有可能发生变化
* 2.不会有重复元素
* 3.不是同步的
* 4.可以有null,只能有一个
*
*
*/
import java.util.*;
public class Main {
public static void main(String[]s) {
Set<String> se=new HashSet<String>();
se.add("111");
se.add("222");
se.add("333");//向集合中添加元素
if(se.contains("111"))//判断集合中是否有某个元素
System.out.println("YES");
else
System.out.println("NO");
Iterator it=se.iterator();//返回se的迭代器
while(it.hasNext())//利用迭代器遍历集合中的元素
System.out.println(it.next());
se.remove("111");//删除集合中的某个元素
for(String i:se)//利用foreach语句遍历集合中的元素
System.out.println(i);
System.out.println(se.size());//返还集合中的元素个数
if(se.isEmpty())//判断集合是否为空
System.out.println("Yes");
else
System.out.println("NO");
se.clear();//清空集合中的元素
System.out.println(se.size());//再次输出集合中元素的个数,判断集合是否已经被清空
}
}
2.TreeSet
package one.ll;
import java.util.*;
/*
* TreeSet种的基本方法与HashSet相同
* TreeSet在使用时,需要在自定义类中实现Comparable接口,因为TreeSet中的元素是按照一定顺序排列的
* */
class People implements Comparable<People>
{
String name;
int age;
People(String name,int age)
{
this.name=name;
this.age=age;
}//构造器
public int compareTo(People a){
if(a.age==age)
return 1;
if(age>a.age)
return 1;
return 0;
}
void print()
{
System.out.println(name+" "+age);
}
}
public class Main {
public static void main(String[]s) {
Set<People> se=new TreeSet<People>();
se.add(new People("张三",15));
se.add(new People("刘庆祝",45));
se.add(new People("刘云波",30));
se.add(new People("吴雨昆",60));
for(People i:se)
{
System.out.println(i.name+" "+i.age);
}
System.out.println(se.size());
}
}