从大学时起到现在已经开发多年, 也看过多遍, 随着年龄的增长和开发经验的增加, 每次重新阅读侯都会有新的理解, 所谓温故而知新. 但也存在问题, 一个是阅读时获得新的理解隔一段事件后容易遗忘...., 都返回列表的第一个元素, 如果列表为空, 则抛出异常 NoSuchElementException; peek() 也是返回首个元素, 列表为空时返回null
removeFirst() 与 remove...() 也完全一样, 移除并返回列表的头, 列表为空时抛出异常 NoSushElementException; poll() 稍有差异, 列表为空时返回 null
removeLast() 移除并返回列表的最后一个元素..., 如果列表为空, 抛出异常 NoSuchException
addFirst() 与 add() 和 addLast() 相同, 都将元素插入到列表的尾(首)部
Stack
“栈” 通常值 “后进先出...通过异常处理错误
Java 的基本理念是 “结构不佳的代码不能运行”
发现异常最理想的时机是在编译阶段, 也就是在你试图运行之前.