1.Foreach:增强for循环,一般用于遍历集合或者数组
格式:for(元素的类型 变量 : 集合或者数组对象){
可以直接使用变量;}
public interface Iterable<T>:实现这个接口允许对象成为 "foreach" 语句的目标。
注意:在增强for循环中不能修改集合,否则会出现并发修改异常。因为底层是迭代器。
2.常见的数据结构:
数组:查找元素快:通过索引,可以快速访问指定位置的元素
增删元素慢 ,每次添加元素需要移动大量元素或这创建新的数组
链表:由链子连接起来的一堆结点,结点:地址值;值:下一个节点的地址值
特点:A:多个节点之间,通过地址进行连接。
B:查找元素慢:想查找某个元素,需要通过连接的节点,依次向后查找指定元素
C:增删元素快: 增加元素:只需要修改连接下个元素的地址即可。
删除元素:只需要修改连接下个元素的地址即可
堆栈:采用该结构的集合,对元素的存取有如下的特点:先进后出(例如,子弹压进弹夹)
队列:......特点:先进先出(例如,安检。)
3.List的特有功能(允许重复)
增:void add(int index, E element) :将元素添加到index索引位置上
查:E get(int index) :根据index索引获取元素
删:E remove(int index) :根据index索引删除元素,返回被删除的元素
改:E set(int index, E element):将index索引位置的的元素设置为element
4.List的子类概述:
ArrayList:查询多,增删改少时使用
LinkedList:查询少,增删改多时使用
LinkedList特有功能
LinkedList底层使用的是链表结构,因此增删快,查询相对ArrayList较慢
void addFirst(E e) :向链表的头部添加元素
void addLast(E e):向链表的尾部添加元素
E getFirst():获取链头的元素,不删除元素
E getLast():获取链尾的元素,不删除元素
E removeFirst():返回链头的元素并删除链头的元素
E removeLast():返回链尾的元素并删除链尾的元素 |
|