package com.hspedu.collection_;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
@SuppressWarnings({"all"})
public class Test517 {
public static void main(String[] args) {
// Set接口的方法和遍历
/*
* Set接口的实现类对象:
* 1、Set对象没有索引
* 2、元素是不允许重复的,最多包含一个null
* 3、Set遍历元素是无序的,添加和取出顺序无关,不一致
* 4、Set取出元素的顺序本身是固定的(Set是数组和链表管理的)
* 5、Set遍历:迭代器、增强for循环(增强for本质就是迭代器),不能通过索引获取
* */
Set set = new HashSet();
// add方法
set.add("Jack");
set.add("Tom");
set.add("Jack"); // Set接口的元素对象不允许重复
HashSet set2 = new HashSet();
set2.add("Mary");
set2.add("Smith");
// addAll批量添加
set.addAll(set2);
// remove删除
set.remove("Smith");
System.out.println("set = " + set);
// 迭代器遍历
System.out.println("====== 迭代器遍历 ======");
Iterator iterator = set.iterator();
while (iterator.hasNext()) {
Object next = iterator.next();
System.out.println("next = " + next);
}
//
System.out.println("====== 增强for循环 ======");
for (Object object : set) {
System.out.println("object = " + object);
}
}
}