老紫竹JAVA提高教程(1)-认识Set集合



 集合的基本介绍,全在代码里了。 不同的实现,细节不同,使用时稍微注意点就行了。幸好我们常用的就那么几个。

  1. package collection.lession1;
  2. import java.util.EnumSet;
  3. import java.util.HashSet;
  4. import java.util.Iterator;
  5. import java.util.LinkedHashSet;
  6. import java.util.Set;
  7. import java.util.TreeSet;
  8. /**
  9.  * 老紫竹JAVA提高教程(1)-认识Set集合<br>
  10.  * Set不允许重复数据<br>
  11.  * Set最多允许一个null数据(有些实现不允许null)<br>
  12.  * 
  13.  * @author 老紫竹 JAVA世纪网(java2000.net)
  14.  * 
  15.  */
  16. public class Lession1 {
  17.   public static void main(String[] args) {
  18.     // 基于Hash的集合,其中的hashCode方法很重要
  19.     Set hashSet = new HashSet();
  20.     // 提供按照一定规则排序的集合
  21.     Set treeSet = new TreeSet();
  22.     // 按照插入顺序进行使用的集合,双向链表
  23.     Set linkedHashSet = new LinkedHashSet();
  24.     // 针对enum使用的集合
  25.     Set enumSet = EnumSet.noneOf(MyEnum.class);
  26.     // 集合的基本操作
  27.     // 我们用HashSet做测试
  28.     Set<Object> set = new HashSet<Object>();
  29.     ;
  30.     Object obj = new Object();
  31.     // 如果 set 中尚未存在指定的元素,则添加此元素
  32.     // 如何判断是否存在,各个实现并不相同
  33.     boolean ok = set.add(obj);
  34.     Set<Object> set2 = new HashSet<Object>();
  35.     // 如果 set 中没有指定 collection 中的所有元素,则将其添加到此 set 中
  36.     // 实际上是合集操作。
  37.     ok = set.addAll(set2);
  38.     // 移除此 set 中的所有元素
  39.     // 就是清空了,啥都不要了
  40.     set.clear();
  41.     // 判断集合里是否包含这个对象
  42.     // 判断方法,各个实现并不相同
  43.     boolean found = set.contains(obj);
  44.     // 判断一个集合是否包含了另一个集合或者至少是不少
  45.     found = set.containsAll(set2);
  46.     // 判断一个集合是否为空
  47.     // 其实通过集合的长度也能判断出来
  48.     boolean empty = set.isEmpty();
  49.     // 迭代器,提供统一的访问集合的接口
  50.     Iterator<Object> it = set.iterator();
  51.     // 从集合中删除某个数据
  52.     // 也就是被开除了
  53.     ok = set.remove(obj);
  54.     // 从集合中删除一组数据
  55.     // 也就是集体开除了
  56.     ok = set.removeAll(set2);
  57.     // 看看集合里有多少东西了
  58.     int size = set.size();
  59.     // 将集合转化为数组
  60.     Object[] objs = set.toArray();
  61.     // 将集合转化为指定格式的数组
  62.     // 比如集合里保存的都是String
  63.     String[] objs2 = (String[]) set.toArray(new String[0]);
  64.   }
  65. }
  66. enum MyEnum {
  67. }

JDK的东西,大家多看看文档吧 : http://api.java2000.net/Set

你可能感兴趣的:(java,jdk,.net)