您的位置:首页 > 编程语言 > Java开发

JAVA集合知识点汇总<一> List集合

2017-08-23 17:58 295 查看

一、List接口

1.Collection接口是List和Set接口的父类



2.List 接口存储一组允许重复,有序(插入顺序)的对象,有下标,插入顺序作为遍历的顺序

3.Set 接口存储一组唯一,无序的对象 没下标 插入的顺序跟遍历的顺序是不一样的

4.List接口中的功能方法

List 接口存储一组允许重复,有序(插入顺序)的对象(包括null),可以通过索引(下标)来进行访问

作用方法名
存储(添加)
boolean add(Object o) 继承自Collection
void add (int index,Object o) 加塞儿专用
替换
com.afinalstone.set(int index,Object o)
删除
remove(Object o) 继承自Collection
remove(int index)
void clear() 继承自Collection
判断
boolean contains(Object o) 继承自Collection,内部调用indexof实现
boolean isEmpty() 继承自Collection
int indexOf(Object o)
int lastIndexOf(Object o)
获取
int size() 继承自Collection
Object get(int index)
Object[] toArray() 继承自Collection

二:List接口的三个常用实现类

类名底层数据结构线程是否安全效率增量值
Vector动态的数组结构线程安全无论增删还是查询都非常慢默认初始容量为10,增量为10
ArrayList动态的数组结构线程不安全增删的效率很慢(因为要移动数据),但是随机查询的效率很高。默认初始容量为10,增量未指定(经调试发现:原容量的50%)
LinkedList链表数据结构线程不安全,对元素的增删的操作效率很高,随机查询的效率低(因为要移动指针寻址)默认初始容量为0,增量不明确

三、泛型 泛型即(Generic type),是Java 5新加入的特性

集合是可以存任意类型的数据,表面上看功能非常强大

存的时候很方便,取的时候困难重重 从集合中取数据时不知道该转换为什么类型,这叫类型安全问题

解决办法就是:让集合可以存任意类型的数据,但是只能存同一种

这就叫泛型

一个集合一旦指定了泛型,那么该集合就只能存同一种类型的数据,那么取数据的时候,就不用强转了

泛型只支持引用数据类型,基本数据类型要使用它的包装类

JDK7以后新增了一个菱形写法

泛型的实现原理: 让数据类型参数化

Java中实现的泛型是伪泛型 ,就是JVM是不支持泛型的,只是在编译的时候检查一下类型是否一致,编译通过会把

字节码中的泛型代码全部删掉(类型擦除)

项目地址:传送门
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: