1. 添加一組元素
Arrays.asList方法, Collections.addAll方法,collection.addAll方法
package context;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
public class TestCollection {
public static void main(String[] args) {
//Arrays.asList方法,接收資料或者多個參數
Collection<Integer> c = new ArrayList<Integer>(Arrays.asList(1, 2, 3));
System.out.println(c);
//c.addAll接收collection
Integer[] moreInt = {4, 5, 6, 7};
c.addAll(Arrays.asList(moreInt));
System.out.println(c);
//接收可變參數,數組
Collections.addAll(c, 8, 9, 10);
System.out.println(c);
Collections.addAll(c, moreInt);
System.out.println(c);
//直接将Arrays.asList擷取的list拿來使用,list的大小不能調整
List<Integer> list = Arrays.asList(11, 12, 13, 14); //底層是資料,不能調整大小,調用add,remove方法均報錯
list.set(0, 99);
System.out.println(list);
// list.add(21); //java.lang.UnsupportedOperationException
// System.out.println(list);
List<Integer> list2 = new ArrayList<Integer>();
list2.addAll(Arrays.asList(11, 12, 13, 14));
list2.add(22);
System.out.println(list2);
}
}
2. ArrayBlockingQueue常用方法:先進先出,容器大小固定
package context;
import java.util.Date;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.TimeUnit;
public class TestCollection2 {
public static void main(String[] args) throws InterruptedException {
ArrayBlockingQueue<String> q = new ArrayBlockingQueue<String>(2);
System.out.println("q.peek: " + q.peek()); //擷取不移除
q.add("123");
System.out.println("q.peek: " + q.peek()); //擷取不移除
System.out.println("q.take: " + q.take()); //擷取移除
System.out.println("date1: " + new Date());
System.out.println("q.poll: " + q.poll(2, TimeUnit.SECONDS)); //等待2S,擷取元素
System.out.println("date2: " + new Date());
for(int i=0; i<2; i++) {
q.offer("a" + i);
}
//等待添加
System.out.println("q.offer: " + q.offer("aa", 1, TimeUnit.SECONDS));
System.out.println("date3: " + new Date());
q.clear(); //清空所有
System.out.println(q.take()); //等待,永久的等待!
System.out.println("date4: " + new Date());
}
}
//output
q.peek: null
q.peek: 123
q.take: 123
date1: Thu Nov 28 10:26:49 GMT+08:00 2013
q.poll: null
date2: Thu Nov 28 10:26:51 GMT+08:00 2013
q.offer: false
date3: Thu Nov 28 10:26:52 GMT+08:00 2013
準備一章寫幾個知識點,有時間就寫點,這篇到這。