Java数据结构
数组(Arrays)
- 查询速度快:通过地址值和索引定位,查询任意数据耗时相同(数组内存空间的地址是连续的)
- 删除效率低:要将原始数据删除,同时后面每个数据前移
- 添加效率极低:添加为之后的每个数据后移,再添加元素
int[] array = new int[5];
列表(Lists)
List<String> arrayList = new ArrayList<>();
List<Integer> linkedList = new LinkedList<>();
链表
查询慢,增删相对快
public class ListNode {
// 结点的值
int val;
// 下一个结点
ListNode next;
// 节点的构造函数(无参)
public ListNode() {
}
// 节点的构造函数(有一个参数)
public ListNode(int val) {
this.val = val;
}
// 节点的构造函数(有两个参数)
public ListNode(int val, ListNode next) {
this.val = val;
this.next = next;
}
}
哈希表(hash table)
用来快速判断一个元素是否出现在集合里
哈希函数(hash function)
栈:先进后出
队列: 先进先出
从后端进入队列的过程:入队列;
从前端离开队列的过程:出队列;
浙公网安备 33010602011771号