- Java中Set集合是一个不包含重复元素的Collection
-
-
- 对 set 的遍历
- 1.迭代遍历:
一般是迭代遍历:
- Set<String> set = new HashSet<String>();
- Iterator<String> it = set.iterator();
- while (it.hasNext()) {
- String str = it.next();
- System.out.println(str);
- }
- 2.for循环遍历:
- for (String str : set) {
- System.out.println(str);
- }
- 优点还体现在泛型 假如 set中存放的是Object
- Set<Object> set = new HashSet<Object>();
- for循环遍历:
- for (Object obj: set) {
- if(obj instanceof Integer){
- int aa= (Integer)obj;
- }else if(obj instanceof String){
- String aa = (String)obj
- }
- ........
- }
唯一的缺点就是 在遍历 集合过程中,不能对集合本身进行操作
for (String str : set) {
set.remove(str);//错误!
}
下面分析一下Set集合的另外一个重要实现类TreeSet,
TreeSet使用元素的自然顺序对元素进行排序,或者根据创建 set 时提供的 Comparator
进行排序,具体取决于使用的构造方法。
通俗一点讲,就是可以按照排序后的列表显示,也可以按照指定的规则排序
- Set<String> set = new TreeSet<String>();
- set.add("f");
- set.add("a");
- set.add("b");
- set.add("c");
- set.add("d");
- set.add("e");
- System.out.println(set);
输出:[a, b, c, d, e, f]
按照排序后输出