Set 集合为集类型,集是最简单的一种集合,存放于集中的对象不按特定方式排序,只是简单地把对象加入集合中,类似于向口袋里放东西。对集中存放的对象的访问和操作是通过对象的引用进行的,因此在集中不能存放重复对象。
Set接口常用的实现类有HashSet 类与TreeSet 类。
● HashSet类实现 Set 接口,由哈希表(实际上是一个 HashMap实例)支持。它不保证 Set 的迭代顺序,特别是它不保证该顺序恒久不变。此类允许使用null 元素。
● TreeSet 类不仅实现了Set 接口,还实现了 java.util.SortedSet接口。因此TreeSet 类实现的Set集合,在遍历集合时按照自然顺序递增排序,也可以是按照指定比较器递增排序,即可以通过比较器对用TreeSet类实现的Set 集合中的对象进行排序。
1,HashSet
范例:观察Set接口使用
importjava.util.HashSet; importjava.util.Set; public class TestDemo { public static void main(String[] args) throws Exception { Set<String>all = newHashSet<String>(); all.add("Hello") ; all.add("Hello") ; // 内容重复了 all.add("World") ; System.out.println(all); } } |
2,TreeSet
范例:使用TreeSet
importjava.util.Set; importjava.util.TreeSet; publicclassTestDemo { publicstaticvoidmain(String[] args) throwsException { Set<String>all = newTreeSet<String>(); all.add("D") ; all.add("A") ; // 内容重复了 all.add("B") ; all.add("B") ; all.add("C") ; System.out.println(all); } } |
3,集合输出
范例:迭代输出:Iterator
Iterator是最为常用的集合输出接口,在这个接口中一共定义了三个方法,但只有两个有真正用处:
·判断是否有下一个元素:publicboolean hasNext();
·取得下一个元素:public Enext()。
importjava.util.ArrayList; importjava.util.Iterator; importjava.util.List; publicclassTestDemo { publicstaticvoidmain(String[] args) throwsException { List<String>all = newArrayList<String>(); all.add("Hello"); all.add("Hello"); // 内容重复了 all.add("World"); Iterator<String>iter = all.iterator(); while(iter.hasNext()) { // 判断是否有下一个元素 Stringstr = iter.next() ; System.out.print(str + "、"); } } } |
范例:foreach输出
对于foreach输出除了可以进行数组内容的输出之外,也可以针对于集合完成输出。
importjava.util.ArrayList; importjava.util.List; publicclassTestDemo { publicstaticvoidmain(String[] args) throwsException { List<String>all = newArrayList<String>(); all.add("Hello"); all.add("Hello"); // 内容重复了 all.add("World"); //通配符中是什么数据类型,foreach的时候就用什么类型的变量来接收集合中的元素 for(String str : all) { System.out.print(str + "、"); } } } |
原文地址:http://9882931.blog.51cto.com/9872931/1622875