为什么使用集合框架
如果并不知道程序运行时会需要多少对象,或者需要更复杂方式存储对象——可以使用Java集合框架
Java集合框架提供了一套性能优良、使用方便的接口和类,它们位于java.util包中
JAVA集合框架包含的内容
Collection接口存储一组不唯一,无序的对象
List接口存储一组不唯一,有序的(插入顺序)的对象
Set接口存出一组1唯一,无序的对象
Map接口存储一组键值对象,提供key到value的映射
Set接口
Set接口存储一组唯一,无序的对象
HashSet是Set接口常用的实现类
Set中存放对象的引用
集合框架有何好处
①可改变长度的数组
②可以通过size()方法获取非null对象个数
③插入add()、删除remove()、遍历、查询对象get(index)时,减少代码量
ArrayList和LinkedList有何异同
前者遍历及随机访问效率高,后者插入和删除效率高
List常用方法
LinkedList特殊方法
Map接口
Map接口专门处理键值映射数据的存储,可以根据键实现对值的操作
最常用的实现类是HashMap
Map接口常用方法
迭代器Iterator
如何遍历Map集合呢?
①方法1:通过迭代器Iterator实现遍历
1、获取Iterator :Collection接口的iterator()方法
2、Iterator的方法
①boolean hasNext(): 判断是否存在另一个可访问的元素
②Object next(): 返回要访问的下一个元素
②方法2:增强for循环
使用Iterator和增强型for循环遍历Map集合
遍历Map
①迭代器Iterator
Set keys=dogMap.keySet(); //取出所有key的集合
Iterator it=keys.iterator(); //获取Iterator对象
while(it.hasNext()){
String key=(String)it.next(); //取出key
Dog dog=(Dog)dogMap.get(key); //根据key取出对应的值
System.out.println(key+"\t"+dog.getStrain());
}
②增强for循环
语法
for(元素类型t 元素变量x : 数组或集合对象){
引用了x的java语句
}