数据结构和对应的集合
栈结构和队列结构 栈: 先进后出。 队列: 先进先出。 6.数组和链表 数组: 在内存中是一片连续的空间。 查询快,增删慢。 查询快:因为可以通过数组的地址值和索引直接定位到某个元素。 增删慢:因为数组不可变,每次要添加或者删除都要创建一个新的数组。 把老数组中的元素赋值给新数组。 链表: 是多个节点组成的。 每一个节点都是单独new出来的对象,在内存中链表不是一个连续的空间。 是通过互相记录地址值实现的。 单向链表: 前一个记录后一个地址值。 但是后一个不会记录前一个地址值。 双向链表 也是由节点组成的。 前一个记录后一个地址值。 后一个也会记录前一个。 7.ArrayList 和 LinkedList ArrayList : 底层是一个数组。 特点:查询快,增删慢 LinkedList : 底层是一个双向链表。 特点:查询慢,增删快 总结: ArrayList 和 LinkedList 基本使用是一模一样的。 增 删 改 查,所写代码几乎一样。 但是在底层数据结构是不一样的。 8.LinkedList void addFirst(E e) 向集合中第一个位置添加元素 void addLast(E e) 向集合中最后一个位置添加元素 E getFirst() 获取集合中第一个元素 E getLast() 获取集合中最后一个元素 E removeFirst() 删除集合中第一个元素