Set集合
Set类
此类中的元素没有特定顺序,简单放入即可,但要注意的是,不能有重复元素。此类继承了Collection,也包含其方法
常用实现类
HashSet类:实现Set接口,不保证Set集合的迭代顺序(指按照一定顺序挨个访问每一个元素),特别是不保证顺序恒定不变。可以使用null元素
TreeSet类:实现Set接口及java.util.SortedSet接口,所以在遍历集合时按照自然顺序递增排序,也可按照指定比较器递增排序
TreeSet类新增方法
| 方法 | 功能 |
|---|---|
| first() | 返回该集合中当前第一个(最低)元素 |
| last() | 返回该集合中当前最后一个(最高)元素 |
| comparator() | 返回对该集合元素进行排序的比较器,若使用自然排序,则返回null |
| headSet(E toElement) | 返回一个新的集合,新集合是toElement(不包含)之前的对象 |
| subSet(E fromElement, E fromElement) | 返回一个新的集合,fromElement(包含)与fromElement(不包含)之间的对象 |
| tailSet(E fromElement) | 返回一个新的集合,fromElement(包含)之后的对象 |
用迭代器按顺序输出
import java.util.Iterator;
import java.util.TreeSet;
public static void main(String[] args) {
TreeSet set= new TreeSet();
set.add(-4);
set.add(6);
set.add(7);
set.add(0);
set.add(2);
Iterator<Integer>it= set.iterator();//创建迭代器,按自然顺序输出
while(it.hasNext()){
System.out.println(it.next()+"\t");
}
}
TreeSet方法实例
import java.util.TreeSet;
public static void main(String[] args) {
TreeSet set=new TreeSet();
set.add(1);
set.add(2);
set.add(3);
set.add(4);
System.out.println(set.first());//1 如果是字母或汉字,则会按照对应的数字来排序输出,输出的还是汉字
System.out.println(set.last());//4
System.out.println(set.headSet(2));//[1]
System.out.println(set.subSet(1,3));//[1,2]
System.out.println(set.tailSet(2));//[2,3,4]
}

浙公网安备 33010602011771号