Set是一个集合,它可以包含一系列不重复的元素。
Set接口与List类似,Set在java中只是一个接口,它本身只是声明了Set类应当提供的操作功能,但并未真正实现。
//HashSet
import java.util.*;
public class TestHashSet
{
public static void main(String[] args)
{
HashSet<String> hs = new HashSet<String>();
hs.add("Marry");
hs.add("Tom");
hs.add("Jack");
System.out.println("Marry在当前set中:" + hs.contains("Marry"));
System.out.println("LinDa在当前set中:" + hs.contains("Linda"));
Iterator<String> it = hs.iterator();
System.out.println("当前set包含以下元素:");
while(it.hasNext())
{
System.out.println(it.next());
}
}
}
//注意重复加入的元素,遍历时只输出一个。
import java.util.*;
class TestHashSet
{
public static void main(String[] args)
{
HashSet<String> hs = new HashSet<String>();
hs.add("Marry");
hs.add("Tom");
hs.add("Jack");
hs.add("Marry");//重复加入元素Marry
System.out.println("Marry在当前set中:" + hs.contains("Marry"));
System.out.println("LinDa在当前set中:" + hs.contains("Linda"));
Iterator<String> it = hs.iterator();
System.out.println("当前set包含以下元素:");
while(it.hasNext())
{
System.out.println(it.next());
}
}
}
//TreeSet
import java.util.*;
public class TreeSet
{
public static void main(String[] args)
{
TreeSet<String> ts = new TreeSet<String>();
ts.add("Marry");
ts.add("Tom");
ts.add("Jack");
System.out.println("Marry在当前set中:" + ts.contains("Marry"));
System.out.println("LinDa在当前set中:" + ts.contains("Linda"));
Iterator<String> it = ts.iterator();
System.out.println("当前set包含以下元素:");
while(it.hasNext())
{
System.out.println(it.next());
}
}
}
从结果中可以看出元素被排序了
将元素加入到set中时,将以元素的大小关系组织树。
import java.util.*;
public class TreeSet
{
public static void main(String[] args)
{
TreeSet<String> ts = new TreeSet<String>();
ts.add("B");
ts.add("C");
ts.add("A");
ts.add("F");
ts.add("E");
ts.add("G");
System.out.println("当前set中最低的元素是:" + ts.first());
System.out.println("当前set中最高的元素是:" + ts.last());
System.out.println("当前set中大于等于D的元素是:" + ts.ceiling("D"));
System.out.println("当前set中小于等于D的元素是:" + ts.floor("D[]"));
}
}