Java中的集合的框架概念
集合的概念
现实生活中:很多的事物凑在一起,数学中的集合:具有共同属性的事物的总体\nJava中的集合类:是一种工具类,就像是容器,储存任意数量的具有共同属性的对象。
与数组的对比——为何选择集合而不是数组
数组的长度固定,集合长度可变
数组只能通过下标访问元素,类型固定,而有的集合可以通过任意类型查找所映射的具体对像
Collection接口、List接口List接口及其实现类
List是元素有序并且可以重复的集合,被称为序列List可以精确的控制每个元素的插入位置,或删除某个位置元素Arraylist——数组序列,是List的一个重要实现类ArrayList底层是由数组实现的
模拟学生选课功能代码案例选择课程(往集合中添加课程)删除所选的某门课程(删除集合的元素)查看所选课程
修改所选课程。
注意:泛型集合可以添加泛型的子类型的对象实例
泛型不能使用基本类型
泛型集合中,不能添加泛型规定的类型及其子类类型以外的对象,否则会报错
Map接口及其实现类
Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value\nMap中的键值对以Entry类型的对象实例形式存在
键(key值)不可以重复,value值可以
每个键最多只能映射到一个值
Map接口提供了分别返回key值集合、value值集合以及Entry(j键值对)集合的方法
HashMap类
HashMap是Map的一个重要实现类,也是最常用的,基于哈希表实现
HashMap中的Entry对象是无序排列的
key值和value值都可以为null,但是一个HashMap只能有一个key值为null的映射(key值不可重复)
以下是选课系统的主要代码与运行结果: