hp实训8.17_Java基础之集合框架1
Java 集合概述
前面存储对象,数组,弊端
Java 集合就像一种容器,可以把多个对象的引用放入容器中。
Java 集合类可以用于存储数量不等的多个对象,还可用于**保存具有映射关系的关联数组
Collection 接口
是List、Set 和Queue 接口的父接口,该接口里定义的方法既可用于操作Set 集合,也可用于操作List 集合:
使用Iterator接口遍历集合元素
1 主要用于遍历Collection 集合中的元素,Iterator对象也被称为迭代器。
2 藏了各种Collection 实现类的底层细节,向应用程序提供了遍历Collection 集合元素的统一编程接口。
3 仅用于遍历集合,Iterator本身并不提供存放对象的能力。如果需要创建Iterator对象,则必须有一个被迭代的集合。
Java 集合可分为Set、List 和Map 三种体系
Set:无序、不可重复的集合,以map为底层实现
List:有序,可重复的集合,以数组为底层实现,集合中的每个元素都有其对应的顺序索引
Map:具有映射关系的集合,key-value(键值对),map接口底层是hash函数,无续(不是随机)
在Java5 之前,Java 集合会丢失容器中所有对象的数据类型,把所有对象都当成Object 类型处理;从Java5 增加了泛型以后,Java 集合可以记住容器中对象的数据类型
使用foreach循环遍历集合元素
List接口**
- 1、list是collection的子接口。
- 2、List 允许使用重复元素,可以通过索引来访问指定位置的集合元素。
- 3、 List 默认按元素的添加顺序设置元素的索引。ArrayList 是list的实现类
- 4、List 接口的实现类
- ArrayList是List 接口的典型实现类
- 本质上,ArrayList是对象引用的一个变长数组
- LinkedList类采用链表存储方式。插入、删除元素时效率比较高
- ArrayList&LinkedList
- ArrayList遍历数组、随机访问元素的效率高;频繁插入删除性能低
- LinkedList插入删除性能低效率高;查找效率低