一.泛型初识
泛型限定
限定集合中存储的数据类型是什么
Object[] arr = new Object[10];
Collection coll = new ArrayList();
注意:
1.泛型必须是引用数据类型
当存储基本数据类型 写包装类
当存储引用数据类型 直接写
2.=左侧和右侧的泛型 需要保持一致
Collection<Student> coll = new ArrayList<Student>();
Collection<Student> coll = new ArrayList<>();
二.List集合定义及常用方法
定义:是用于有序存储可重复元素的集合
有序 可重复 有下标 下标从0开始
java.util.List;
在Collection方法基础上 + 带下标操作的方法
增
add(int index,Object obj); 在指定下标位置添加元素
删
remove(int index) 删除指定下标位置元素
改
set(int index,Object obj) 修改指定下标位置元素
查
get(int index) 获取指定下标位置的元素
listIterator() 列表迭代器
多了从后向前遍历的方法
hasNext
next
hasPrevious()
previous()
其他
int indexOf(Object obj) 获取元素在集合中第一次出现的下标
int lastIndexOf(Object obj) 获取元素在集合中最后一次出现的下标
subList(int fromIndex, int toIndex) 截取 包含头 不包含尾
注意事项:
循环遍历集合 查找符合条件的 并删除
必须使用迭代器的remove
在使用迭代器遍历集合的同时 不能在迭代器中对集合长度进行修改
三.List集合实现类的特点
ArrayList
定义:基于动态数组实现的List集合。
创建长度为10的数组 如果不够用 自动创建新数组长度为1/2倍的增长
15 将原数组中的数据拷贝到新数组中
Vector
定义:是基于数组实现的,线程同步的遗留集合类
ArrayList 和 Vector区别
新老版本不同
老版本 Vector 线程同步 安全 效率低
新版本 ArrayList 线程不安全 效率高
Stack 栈
是继承Vector集合的,具有后进先出特点的遗留集合类
后进先出 弹夹
LinkedList
定义:是基于双向链表的,实现了List接口和Queue接口的集合
ArrayList和 LinkedList 区别:
ArrayList 查找和随机访问快 增删慢
LinkedList 增删快 查找慢
List 方法基础上 多了 首尾操作的方法
addFirst
addLast
removeFirst
removeLast
getFirst
getLast
泛型的定义和List集合的基本定义与使用方法
最新推荐文章于 2024-07-30 16:58:22 发布