程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> JAVA提高教程(1)-認識Set集合

JAVA提高教程(1)-認識Set集合

編輯:關於JAVA

集合的基本介紹,全在代碼裡了。不同的實現,細節不同,使用時稍微注意點就行了 。幸好我們常用的就那麼幾個。

package collection.lession1;

import java.util.EnumSet;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.TreeSet;

/**
* 老紫竹JAVA提高教程(1)-認識Set集合<br>
* Set不允許重復數據<br>
* Set最多允許一個null數據(有些實現不允許null)<br>
*
* @author 老紫竹 JAVA世紀網(java2000.net)
*
*/
public class Lession1 {

 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]);
 }
}

enum MyEnum {

}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved