java成神之 集合框架之佇列,棧,集合併發

2021-09-10 12:10:47 字數 1532 閱讀 8786

集合併發

結語

此佇列第乙個元素永遠是最小的,先進先出

priorityqueuequeue = new priorityqueue();

雙端佇列

dequedequea = new linkedlist<>();

dequea.add("element 1");

dequea.addfirst("element 2");

dequea.addlast("element 3");

dequea.element(); // 獲取隊頭元素

dequea.getfirst();

dequea.getlast();

dequea.remove();

dequea.removefirst();

dequea.removelast();

執行緒阻塞佇列

當你出隊隊空或者進隊隊滿,會造成當前執行緒阻塞,除非此時其他的執行緒進隊或者出隊,才會繼續執行

arrayblockingqueue

linkedblockingqueue

priorityblockingqueue

blockingqueuebqueue = new arrayblockingqueue(2);

queuequeue = new linkedlist();

queue.offer( "first element" ); // 入隊

queue.offer( "second element" );

while ( !queue.isempty() )

先進後出

stack st = new stack();

st.push(10);

st.pop();

listthreadsafelist = collections.synchronizedlist(new arraylist());

setthreadsafeset = collections.synchronizedset(new hashset());

mapthreadsafemap = collections.synchronizedmap(new hashmap());

listthreadsafelist = new copyonwritearraylist();

setthreadsafeset = new concurrenthashset();

mapthreadsafemap = new concurrenthashmap();

string previousvalue = threadsafemap.putifabsent("a", "1");

我會第一時間總結出來並發布填充到本文

posted @

2018-09-29 16:41

qz奔跑的馬 閱讀(

...)

編輯收藏

Java集合之佇列

jdk兩套佇列 為什麼要使用阻塞佇列?消費者和生產者不會保持相同的速度,如生產者快時候,佇列會越來越大,相比之下,阻塞佇列只允許生產者的速度在一定速度上超過消費者的速度,但不會超過很多。linkedblockingqueue 基於鍊錶的無界阻塞佇列,但也可以指定長度,不指定無界,內部維護了乙個鍊錶快...

java學習筆記 集合之棧和佇列

棧是vector的乙個子類,它實現了乙個標準的後進先出的棧。堆疊只定義了預設建構函式,用來建立乙個空棧。堆疊除了包括由vector定義的所有方法,也定義了自己的一些方法。boolean empty 判斷棧是否為空 object peek 檢視堆疊頂部的物件,但不從堆疊中移除它。object pop ...

集合框架(資料結構之棧和佇列)

1.棧的定義 又名堆疊,它是一種運算受限的線性表。其限制是僅允許在表的一端進行插入和刪除運算。這一端被稱為棧頂,相對地,把另一端稱為棧底。向乙個棧插入新元素又稱作進棧 入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素 從乙個棧刪除元素又稱作出棧或退棧,它是把棧頂元素刪除掉,使其相鄰的...