Java中的集合的框架概念
集合的概念
现实生活中:很多的事物凑在一起,数学中的集合:具有共同属性的事物的总体\nJava中的集合类:是一种工具类,就像是容器,储存任意数量的具有共同属性的对象。
与数组的对比——为何选择集合而不是数组
数组的长度固定,集合长度可变
数组只能通过下标访问元素,类型固定,而有的集合可以通过任意类型查找所映射的具体对像
Collection接口、List接口List接口及其实现类
List是元素有序并且可以重复的集合,被称为序列List可以精确的控制每个元素的插入位置,或删除某个位置元素Arraylist——数组序列,是List的一个重要实现类ArrayList底层是由数组实现的
模拟学生选课功能代码案例选择课程(往集合中添加课程)删除所选的某门课程(删除集合的元素)查看所选课程
修改所选课程。
注意:泛型集合可以添加泛型的子类型的对象实例
泛型不能使用基本类型
泛型集合中,不能添加泛型规定的类型及其子类类型以外的对象,否则会报错
Map接口及其实现类
Map接口
Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value\nMap中的键值对以Entry类型的对象实例形式存在
键(key值)不可以重复,value值可以
每个键最多只能映射到一个值
Map接口提供了分别返回key值集合、value值集合以及Entry(j键值对)集合的方法
Map支持泛型,形式如:Map
003CK,V>
HashMap类
HashMap是Map的一个重要实现类,也是最常用的,基于哈希表实现
HashMap中的Entry对象是无序排列的
key值和value值都可以为null,但是一个HashMap只能有一个key值为null的映射(key值不可重复)
判断List中课程是否存在
判断Set中课程是否存在
判断Map中是否包含某个key值或者某个value值
Collections工具类
Collections工具类是 Java集合框架中,用来操作集合对象的工具类,也是Java集合框架的成员
sort()(排序)方法
Comparable接口——可比较的
实现该接口表示:这个类的实例可以比较大小,可以进行自然排序
定义了默认的比较规则
其实现实需要实现compara To()方法
compara To()方法返回正数表示大,负数表示小,0表示相等
Comparator接口——比较工具接口
用于定于临时比较规则,而不是默认比较规则
其实现类需要实现compara ()方法
Comparator和Comparable都是Java集合框架的成员。