標籤:package import public java
package com.xian.test;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
public class JavaList {
public static void main(String[] args) throws Exception {
//getList();
getHash();
getSet();
}
/**
* arrayList隨機存取效率高,線程不安全,可重複,根據下標可取值 源碼中構造參數為10,初始容量10,每次增長50%
* 添加資料到 前面或中間效率低,linkedList鏈表按順序訪問,前面或中間 添加刪除資料時 較快。
* Vector安全執行緒。
* @author 賈小仙
* @serialData 2015-4-16 10:37
*/
public static void getList(){
List arrayList=new ArrayList();
arrayList.add("賈小仙");
arrayList.add("小清");
System.out.println(arrayList.get(0)+" | | "+arrayList.get(1));
arrayList.add(0, "Fuck you");
arrayList.set(1, "我名字消失了");
System.out.println(arrayList.get(0)+" | | "+arrayList.get(1)+" | | "+arrayList.get(2));
System.out.println(arrayList.contains("小清"));//判斷是否存在
}
/**
* hashMap線程不安全, 允許key和value為null, 無序存放。containsKey ,containsValue, Iterator 迭代。
* hashTable安全執行緒,不允許key和value為null,無序存放,contains,containsKey ,containsValue, Enumeration迭代。
*(synchronized)
* @throws Exception
* @author 賈小仙
*/
public static void getHash() throws Exception {
HashMap map=new HashMap();
map.put("you", "小清");
map.put("me", "賈小仙");
System.out.println(map.get("you")+" | | "+map.get("me"));
if(map.put("me", "error")!=null)
System.out.println("不允許重複");
//throw new Exception("不允許重複");
map.put("null", "null");
System.out.println(map.get("null"));
if(map.containsKey("me"))
System.out.println("me的key是存在。");
Set set=map.entrySet(); //iterator迭代必須是set所以返回給set然後迭代。
Iterator iter=set.iterator();
while(iter.hasNext()){
System.out.println("iterator迭代 : "+iter.next());
}
Hashtable table=new Hashtable();
table.put("you", "小清");
table.put("me", "賈小仙");
table.put("null", "null");//字串的null是可以的.這個null就會出現nullpointException
Enumeration e=table.elements();
while(e.hasMoreElements()){ //可以看出來 是無序的。
Object next=e.nextElement();
System.out.println("迭代的參數: "+next);
}
}
/**
* set集合有一個特色。就是set裡面的不重複。所以可以用set來做一些去重的操作。很方便。
* set迭代使用iterator
* hashSet無序的存放, TreeSet有序的存放。
*/
public static void getSet(){
Set set=new HashSet();
set.add("賈小仙");
set.add("小清");
if(set.add("小清"))
System.out.println("不可以重複哦。");
TreeSet treeSet=new TreeSet();
treeSet.add("me");
treeSet.add("you");
Iterator iter=treeSet.iterator();
while(iter.hasNext()) //有序的
System.out.println("treeSet的Iterator迭代 "+iter.next());
}
}
本文出自 “賈小仙” 部落格,請務必保留此出處http://hackerxian.blog.51cto.com/9240575/1637446
JAVA常用的集合類