Java栈和队列的总结
栈:
栈的新建:
Stack<Character> st = new Stack<Character>();
其他常用方法:
push():入栈
top():获取栈顶元素
pop():出栈
empty():可以检测stack内是否为空,返回true为空,返回false为非空
size():返回stack内元素的个数
队列:
新建队列:
Queue<String> queue = new LinkedList<String>();
其他常用方法:
offer():向队列中添加元素,如果队列已满直接返回false,队列未满则直接插入并返回true
add():对offer()方法的简单封装。如果队列已满,抛出异常new IllegalStateException(“Queue full”)
put():往队列里插入元素,如果队列已经满,则会一直等待直到队列为空插入新元素,或者线程被中断抛出异常。
remove():直接删除队头的元素。
peek()方法直接取出队头的元素,并不删除。
element():对peek方法进行简单封装,如果队头元素存在则取出并不删除,如果不存在抛出异常NoSuchElementException()
poll():取出并删除队头的元素,当队列为空,返回null
take():取出并删除队头的元素,当队列为空,则会一直等待直到队列有新元素可以取出,或者线程被中断抛出异常