package 集合类.Set类;
/**
* Set不允许重复数据<br>
* Set最多允许一个null数据
* @author jjj
*
*/
import java.util.EnumSet;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.TreeSet;
public class Set类汇总 {
public static void main(String[] args) {
// 基于Hash的集合,其中的hashCode方法很重要
Set hashSet = new HashSet();
// 提供按照一定规则排序的集合
Set treeSet = new TreeSet();
// 按照插入顺序进行使用的集合,双向链表
Set linkedHashSet = new LinkedHashSet();
// 针对enum使用的集合
Set enumSet = EnumSet.noneOf(MyEnum.class);
// 集合的基本操作
// 我们用HashSet做测试
Set<Object> set = new HashSet<Object>();
;
Object obj = new Object();
// 如果 set 中尚未存在指定的元素,则添加此元素
// 如何判断是否存在,各个实现并不相同
boolean ok = set.add(obj);
Set<Object> set2 = new HashSet<Object>();
// 如果 set 中没有指定 collection 中的所有元素,则将其添加到此 set 中
// 实际上是合集操作。
ok = set.addAll(set2);
// 移除此 set 中的所有元素
// 就是清空了,啥都不要了
set.clear();
// 判断集合里是否包含这个对象
// 判断方法,各个实现并不相同
boolean found = set.contains(obj);
// 判断一个集合是否包含了另一个集合或者至少是不少
found = set.containsAll(set2);
// 判断一个集合是否为空
// 其实通过集合的长度也能判断出来
boolean empty = set.isEmpty();
// 迭代器,提供统一的访问集合的接口
Iterator<Object> it = set.iterator();
// 从集合中删除某个数据
// 也就是被开除了
ok = set.remove(obj);
// 从集合中删除一组数据
// 也就是集体开除了
ok = set.removeAll(set2);
// 看看集合里有多少东西了
int size = set.size();
// 将集合转化为数组
Object[] objs = set.toArray();
// 将集合转化为指定格式的数组
// 比如集合里保存的都是String
String[] objs2 = (String[]) set.toArray(new String[0]);
}
}
Set类汇总
最新推荐文章于 2023-07-24 13:30:49 发布