回顾
集合框架

两个重点------ArrayList和HashSet.

Vector/ArraysList/LinkedList区别
| Vector | ArraysList | LinkedList | |
|---|---|---|---|
| 底层实现 | 数组 | 数组 | 链表 |
| 线程安全 | 安全 | 不安全 | 不安全 |
| 增删效率 | 较低 | 较低 | 高 |
| 扩容 | *2 | *1.5 | -------- |

(>>)运算级最低,记得加括号。
常用Api
List*
remove()的两种删除

| API | 解释 | |
|---|---|---|
| 1 | add() | 添加 |
| 2 | remove(index) | 索引删除 |
| 3 | remove(Object) | 对象删除 |
| 4 | set(index,e)《Set》 | 修改 |
| 5 | clear() | 清空 |
| 6 | size() | 长度 |
| 7 | get(index)《List》 | 查询 |
| 8 | indexOf()《List》 | 找出位置 |
| 9 | contains(用前要重写) | 包含 |
| 10 | isEmpty() | 集合为空 |
| 11 | itreator() | 迭代器(遍历和删除) |
| 12 | toString() | 转换为字符串 |
数组比较


Stack栈
后进先出
栈是一种特殊的数据结构,后进先出。
结构
底层还是数组。Vector派生出来的,继承Vector。

Api方法

push():入栈

peek():栈顶
取栈顶不会删除栈顶。
System.out.println("栈顶:"+stack.peek());//栈顶------最后进栈的
pop():出栈
出栈会删除栈顶元素。
System.out.println("wu:"+stack.pop());//出栈

完整代码:
package com.ffyc.Stack;
import java.util.Stack;
public class StackDemo01 {
public static void main(String[] args) {
Stack<Integer> stack = new Stack<>();
//存------压栈
stack.push(1);
stack.push(2);
stack.push(3);
stack.push(4);
stack.push(5);
System.out.println("栈:"+stack);
System.out.println("栈顶:"+stack.peek());//栈顶------最后进栈的
//System.out.println("wu:"+stack.pop());//出栈
//倒序打印
while (stack.size()>0){
int temp = stack.pop();//pop()后当前的栈顶元素自动删除
System.out.println(temp);
}
}
}
反转"hello"

中间的回文数量的题可以用
计算器题目
准备工作

length-1 否则越界


Queue队列



offer()进
队头添加数据
poll()出
从队头取出元素/数据
peek()顶
取出最先进队的元素。第一个offer()进去的元素。

是下面代码的输出:queue.peek--->1
队列

可排序的队列

