目录
七:集合类
1.泛型
泛型:泛型允许类的成员的类型可以由外部程序来指定,也就是说可以以参数型式来指定类型,即参数化类型
-
泛型接口
-
泛型类
-
泛型方法
class 类名<类型参数化列表>
{
//类体
}
eg:
public class ArrayList<E>{}
//泛型类
interface 接口名<类型参数化列表>
{
//接口体
}
eg:
public interface List<E>{}
//泛型接口
eg:
public boolean add(E e){}
//泛型方法
2.集合类总览
集合类特点:
-
空间自主调整,提高空间利用率,动态存储多个对象
-
提供不同的数据结构和算法,减少编程工作量
-
提高程序的处理速度和质量
注意:
-
集合类支持引用类型,包括包装类(?)
-
集合类中存放的时对象的引用,而不是对象本身
Collection接口:
-
List:元素有序,可重复的集合
-
Set:元素无序,不可重复的集合
Map接口:具有映射关系”key-value对“的集合
(Ps:Collection接口,Map接口可以查看API文档)
3.List集合类
List接口的定义:
public interface List<E> extends Collection<E>{
//继承Collection接口中的成员方法
}//接口中的方法可以查看API文档
ArrayList实现类的特点:
-
使用数组方式实现List接口
-
检索效率很高
-
删除效率很低
-
即数据结构的顺序表
ArrayList实现类的定义:
ArrayList<String> arrayList = new ArrayList<String>();
List<String> list = new ArrayList<String>();
//父类(接口)引用指向子类对象
arrayList.add();//增
arrayList.set();//改
arrayList.get();//查
arrayList.remove();//删
//遍历可以使用(1)for循环;(2)增强for循环foreach;(3)迭代器
LinkedList实现类的特点:
-
使用链表方式实现List接口
-
检索效率很低
-
删除效率很高
-
即数据结构的链表
LinkedList实现类的定义
LinkedList<String> linkedList = new ArrayList<String>();
List<String> linkedList = new LinkedList<String>();
//与上面的arrayList类似