簡體   English   中英

使用內置的LinkedList進行Java復制

[英]Java copying using built in LinkedList

我有一個關於復制LinkedList的問題。 我正在開發一個項目,它接收數據並將其存儲在LinkedList 這是通過網絡端口的實時饋送完成的,我希望能夠將此列表中的數據復制到另一個列表,以便處理收集的數據。 既然總是收集數據,那么有一種方法可以像在C中那樣更改“指針”,以便第一個列表的頭部現在與第二個LinkedList相關聯,因為第一個列表的第一個將是空的新數據?

second.addAll(first);
first.clear();

聽起來像你需要的是2個隊列。 有1個隊列用於收集,1個用於處理。 在某些時候,你需要來回交換它們。 只要您短暫鎖定開關,一切都應該沒問題。 沒有必要亂用鏈表上的指針,你可以避免復制內容。

話雖這么說,也許您應該考慮查看使用Queues的Executors的並發包。 在不了解您的具體任務的情況下,似乎這些可能是您正在做的更好的匹配,並允許您避免必須手動編碼細節。

編輯:這是我正在談論的包。 http://download.oracle.com/javase/1,5.0/docs/api/java/util/concurrent/package-summary.html

其中一個:

linkedlist.push(newHeadValue);
要么

linkedlist.addFirst(newHeadValue);
要么

linkedlist.add(0,newHeadValue);

或者您是否明確要求頭部沒有數據的步驟?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM