将ArrayList存入LinkedList实现的Queue遇阻,两种解决方案该如何选择?
该选哪种方案?核心看你的实际需求
这俩方案的本质区别是队列里存的东西完全不一样,得根据你要实现的功能选:
如果你需要把整个ArrayList作为一个独立元素放进队列(比如之后要从队列里取出完整的列表来处理),就选方案1:
Queue<ArrayList<Integer>> queue = new LinkedList<>();,之后用queue.add(yourArrayList)就能正常添加了。如果你只是想把ArrayList里的每一个Integer元素单独放进队列(把列表里的整数挨个加入队列,队列最终存的是一个个整数),就选方案2:保留
Queue<Integer> queue = new LinkedList<>();,用queue.addAll(yourArrayList)来批量添加所有元素。
举个直观的例子:
假设你的ArrayList是[1,2,3]
- 方案1执行后,队列里只有1个元素:
[1,2,3](这个元素是整个列表) - 方案2执行后,队列里有3个元素:
1、2、3(每个都是单独的整数)
所以关键看你之后要从队列里取什么——是取整份列表,还是取单个整数。
内容的提问来源于stack exchange,提问作者serie
相关产品推荐
相关产品推荐

