集合框架包含的内容
Collection: 包括List和Set
List:包括ArrayList 和LinkedList
Set:包括HashSet和TreeSet
Map:包括HashMap 和TreeMap
集合框架的接口
Collection接口存储一组不唯一,无序的对象
List接口存储一组不唯一,有序(插入顺序)的对象
Set接口存储一组唯一,无序的对象
Map接口存储一组键值对象,提供Key(键)到value(值)的映射
List接口的实现类
ArrayList实现了长度可变的数组,在内存中分配连续的空间
遍历元素和随机访问元素的效率比较高
LinkedList采用链表存储方式
插入、删除元素时效率比较高
List接口常用方法
LinkedList接口常用方法
遍历集合
方法1:通过for循环和get( )方法配合实现遍历
方法2:通过迭代器Iterator实现遍历
Set接口
数据存放无序,非常简单,主要呈现信息列表
Set接口存储一组唯一,无序的对象
HashSet是Set接口常用的实现类
Set接口不存在get方法
Map接口常用方法
java集合框架将针对不同数据结构算法的实现都保存在工具类中
Collections类定义了一个用于操作集合的静态方法
Collections主要方法
泛型集合
泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。
Java泛型编程是JDK1.5版本后引入的。泛型让编程人员能够使用类型抽象,通常用于集合里面。
1、泛型的类型参数只能是类类型(包括自定义类),不能是简单类型。
2、同一种泛型可以对应多个版本(因为参数类型是不确定的),不同版本的泛型类实例是不兼容的。
3、泛型的类型参数可以有多个。
4、泛型的参数类型可以使用extends语句,例如<T extends superclass>。习惯上称为“有界类型”。
5、泛型的参数类型还可以是通配符类型。
例如: Class<?> classType = Class.forName("java.lang.String");