days15--集合之List
Posted 安小猿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了days15--集合之List相关的知识,希望对你有一定的参考价值。
集合体系:
接口:Collection Map List Set
实体类:ArrayList LinkedList HashMap HashSet TreeSet
Collection:
是单列集合的顶层接口,表示一组对象,这些对象也称为了Collection的元素
JDK不提供此接口的直接实现类,提供了更具体的子接口(List和Set)实现
使用:
通过多态的方式
集合的实现类ArrayList和LinkedList
Collection常用方法:
boolean add(E e); 添加元素
boolean remove(Object o) 从集合中移除指定元素
void clear() 清空集合中的元素
boolean contains(Object o) 判断集合中是否存在指定元素
boolean isEmpty() 判断集合是否为空
int size() 集合的长度,集合中的元素个数
这里是引用
**迭代器:**有的集合不能使用for循环遍历,迭代器是集合专属遍历方式
格式
Iteraor iteraor = 集合.iterator()
Iterator中的常用方法:
E next():返回迭代器中下一个元素
boolean hasNext():如果迭代器中具有更多的元素,返回true
注意:next()获取一个元素后,在迭代器中当前元素不存在
List:
有序集合(序列):可以精准的控制元素的插入位置,可以通过索引来访问元素
特点:
有序:存储和取出的元素顺序一样
可重复:存储的元素可以重复
注意:以后在见到有序,就是有下标
List常用方法:
boolean add(int index,E element); 在集合中指定位置插入元素
E remove(int index) 删除指定元素,并返回删除元素
E get(int index) 返回指定位置的元素
E set(int index,E element) 修改指定元素,并返回被修改元素
增强for:简化遍历数组和集合的书写方式,底层封装了迭代器
格式: for(存储元素的数据类型 变量名:集合对象或数组){
}
LinkedList:底层是双链表,有针对头和尾的操作方法
void addFirst(E e) 在列表开头插入指定元素
void addLast(E e) 在列表末尾追加指定元素
E getFirst() 返回列表第一个元素
E getLast() 返回列表末尾元素
E removeFirst() 移除第一个元素并返回
E removeLast() 移除末尾元并返回
ArrayList和LinkedList区别:
ArrayList底层是数组,LinkedList底层是双链表
ArrayList查询快 增删慢,LinkedList查询慢 增删快
以上是关于days15--集合之List的主要内容,如果未能解决你的问题,请参考以下文章