集合框架
对象的容器,定义了对多个对象进行操作的常用方法。可实现数组的功能。
和数组的区别:数组长度固定,集合长度不固定,数组可以存储基本数据类型和引用类型,集合只能存储引用类型
Collection体系集合
特点:代表一组任意类型的对象,无序,无下标
常用方法
添加一个Add()、添加一组addAll()、数组大小size()、是否包含contains()、判空isEmpty()、对象比较equals()、移除对象remove()、清空clear()等
List接口与实现类
特点:存储有序,有下标,元素可重复
方法基本与Collection相同,get(int index)返回集中中指定位置元素,subList(int formIndex,int toIndex)返回两个值之间的值,左闭右开
List实现类
ArrayList:数组结构实现,查询快,增删慢
JDK1.2版本,运行效率快,线程不安全。
Vector:数组结构实现,查询快,增删慢;
JDK1.0版本,运行效率慢,线程安全
LinkedList:链表结构实现,增删快,查询慢。
ArrayList和LinkedList在空间上的差别就是ArrayList需要连续空间,而LinkedList无需开辟连续空间。
泛型
Java泛型是JDK1.5中引入的一个新特性,其本质是参数化类型,把类型作为参数传递。
常简形式有泛型类、接口、方法
好处:提高代码的重用性,防止类型转换异常,提高代码安全性
泛型集合:参数化类型,类型安全的集合,强制集合元素的类型必须一致。
特点:编译时即可检查,而非运行时抛出异常,访问时,不必类型转换(拆箱),不同泛型之间引用不能相互赋值,泛型不存在多态
Colletions工具类
集合类工具类,定义了除了存取以外的集合常用方法
方法:reverse(list<?> list)反转集合中元素的顺序,shufle(list<?> list)随机重置集合元素的顺序,sort(List<?> list)升序排序