回顾
集合框架

两个重点------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
队列

可排序的队列
