Vector<>和ArrayList相比线程安全,其他一样
Queue queue = new ArrayQeque<>();队列:先进先出。
1.add() 添加数据
2.poll()删除第一个元素
3.peek() 查看第一个元素
4.remove() 移除元素
Stack stack = new Stack<>(); 栈:先进后出,
1.push() 进栈元素
2.pop() 元素出站
3.peek() 查看栈顶元素
String src = "((2+5)*3)+(5+6)";
Stack<Integer> stack = new Stack<>();
for (int i = 0; i < src.length(); i++) {
if (src.charAt(i) == '(') {
stack.push(i);
}
if (src.charAt(i) == ')') {
System.out.println(src.substring(stack.pop(), i + 1));
}
}
结果:
(2+5)
((2+5)*3)
(5+6)