set
public interface Set<E> extends Collection<E>
使用集合汇总
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]); } }