Java中的stack&queue

当需要使用栈时,Java已不推荐使用Stack,而是推荐使用更高效的ArrayDeque;
既然Queue只是一个接口,当需要使用队列时也就首选ArrayDeque了(次选是LinkedList)

从名字可以看出ArrayDeque底层通过数组实现,为了满足可以同时在数组两端插入或删除元素的需求,该数组还必须是循环的,即循环数组(circular array),也就是说数组的任何一点都可能被看作起点或者终点。
ArrayDeque是非线程安全的(not thread-safe),当多个线程同时使用的时候,需要程序员手动同步;另外,该容器不允许放入null元素。

posted @ 2022-09-05 23:12  AI未来10Y  阅读(40)  评论(0编辑  收藏  举报