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
или LinkedList
или LinkedBlockingDeque
? что произойдет, если я установлю значение int 10? Означает ли это, что очередь будет содержать только 10 одновременно? Что если Коллекция, полученная из БД, имеет размер больше 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);
}