public void traverse(Node root){
ArrayDeque<Node> queue = new ArrayDeque<Node>();
queue.add(root);
while(!queue.isEmpty()){
Node currentNode = queue.pollFirst();
List<Node> nl = getChildrenfromDB(currentNode);
queue.addAll(nl);
}
所以我应该使用ArrayDeque
or LinkedList
orLinkedBlockingDeque
吗?当我将 int 值设置为 10 时会发生什么?这是否意味着队列一次只能容纳 10 个?如果从 DB 的大小中检索到的 Collection 大于 10 怎么办?这个绑定值是否定义了队列的“快照”?
public void traverse(Node root){
LinkedBlockingDeque<Node> queue = new LinkedBlockingDeque<Node>(10);
queue.add(root);
while(!queue.isEmpty()){
Node currentNode = queue.pollFirst();
List<Node> nl = getChildrenfromDB(currentNode);
queue.addAll(nl);
}