ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:31.65KB ,
资源ID:2397119      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2397119.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(day07迭代器增强for泛型.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

day07迭代器增强for泛型.docx

1、day07迭代器增强for泛型反馈:*讲下split public String split(符号);/ 如果符号比较特殊,用到了正则表达式中特殊含义的符号 需要转译 在Java中使用 . 比如: .+ 一个以上连续任意个. 都会被匹配到第7天_面向对象(集合) 1.集合的介绍 一个变量只能存储一个值,当出现大量的变量用来存储数据的时候 这时候我们想到数组,但是数组有问题?数组的定长的! 所以我们用到了集合,而集合是变长 a.集合的特点和作用 集合最大的特点:长度随着元素个数的增加而增加(javascript中数组是可变) 作用:存储大量的对象 b.集合框架的由来 集合框架的根接口是Colle

2、ction接口 2.集合框架* a.集合框架体系(见图) 3.Collection接口中定义的方法* 记住:只要是容器,他的方法增删改查 增加:public boolean add(E e);返回值表示是否添加成功 删除:public boolean remove(Object obj);返回值表示是否删除成功 修改:没有 获取:public int size();长度 其他方法: public void clear();/清空集合,把集合中元素全删除,但是集合还是存在的 把集合置为null;/把整个集合丢了 public boolean contains(Object o);/判断集合中是否

3、包含某个元素 public Object toArray();/把集合转成数组 public boolean isEmpty();/判断集合是否为空, 底层 size() = 0 4.迭代器 迭代器属于什么类型? Iterator类型 迭代器Iterator 中常用的两个方法Public boolean hashNext();/ 判断集合还有没有元素Public 类型Next(); /读取这个元素 获取集合的迭代器对象:Iterator it = 集合.iterator();遍历集合步骤: 1.创建对象集合对象(自带了一个Iterator对象)2.获取到Iterator对象Iteratorit

4、 = c.iterator();/面向接口编程3. 遍历集合方法:方法一:while(it.hashNext() 和集合一样的类型 变量名 = it.next(); syso(变量名) 并发修改异常:不能在迭代器遍历集合的过程中 添加或者删除元素(不能做对集合长度有影响的操作)方法二:foreach,然后快捷键alt+/ 遍历集合: while(it.hashNext() 和集合一样的类型 变量名 = it.next(); syso(变量名) 并发修改异常:不能在迭代器遍历集合的过程中 添加或者删除元素(不能做对集合长度有影响的操作)例如:publicstaticvoid main(Strin

5、g args) / TODO Auto-generated method stub /1.创建对象集合对象(自带了一个Iterator对象) /用多态接收 Collectionc = new ArrayList(); /添加几个数据 c.add(itcast); c.add(alibaba); c.add(tencent); c.add(sohu); c.add(netease); /2.获取到Iterator对象 Iteratorit = c.iterator();/面向接口编程 /3.a.问有没有下一个元素 while(it.hasNext() String s = it.next();

6、System.out.println(s); /4.但是如果it的hasNext返回值是false /String next = it.next();不能再取,因为集合中没有下一个元素了 5.并发修改异常;/* * 使用Iterator对象遍历集合, * 如果出现”itcast”字符串, * 那么向集合中添加一个大写的”ITCAST”字符串 * * 这时候出现了一个异常:Concurrent(并发)Modification(修改)Exception(异常) * * 解释这个异常出现的原因: Java规定集合在用迭代器遍历的过程中,不能添加/删除元素(不能修改和长度有关) * *原因:迭代器中”

7、记忆”的集合长度与集合中实际长度不同,而导致出现索引与实际元素不符甚至无限循环的情况发生。 */例如:publicclass ConcurrentModificationExceptionDemo publicstaticvoid main(String args) / TODO Auto-generated method stub /1.创建集合并且添加数据 Collectionc = new ArrayList(); c.add(baidu); c.add(itcast); c.add(tencent); c.add(sohu); c.add(google); /2.遍历集合(用迭代器)

8、Iteratorit = c.iterator();/迭代器就会记住 集合的长度是5 while(it.hasNext() String next = it.next(); /3.判断是不是itcast if(itcast.equals(next) /4.向集合中添加一个ITCAST c.add(ITCAST);/实际长度变了 变成6了 5.增强for循环 增强for循环是JDK1.5出现的新特性: 作用:专门用来快速遍历数组或者集合 格式: for(数据类型 变量:数组/集合) 每一次循环 自动从数组或者集合中取出一个元素,保存到变量中 我们只要操作这个变量即可 原理:增强for循环底层的原

9、理是迭代器,同样不能在使用增强for循环遍历过程中 添加或者删除元素 缺点:使用增强for循环 是不能知道是第几个元素 增强for循环什么时候用合适:只操作元素内容,不关心元素下标的时候例如:/* * 使用增强for循环遍历数组和集合 * * for(数据类型 变量:数组/集合) * 每一次循环 自动从数组或者集合中取出一个元素,保存到变量中 * 我们只要操作这个变量即可 * * * */publicclass StrongForDemo publicstaticvoid main(String args) / TODO Auto-generated method stub /1.遍历数组 i

10、nt nums = 1,2,34,5,6; /2.用增强for循环遍历数组 for(intnum:nums) /每次循环都会从数组中取出一个元素,保存到num中 System.out.println(num); /3.遍历集合 Collectionc = newArrayList(); c.add(1); c.add(2); c.add(3); c.add(4); /4.遍历 for(inti : c)/自动拆装箱 /System.out.println(i); if(i=2) c.add(200); /JDK1.8中 一句话,lambda表达式 6.泛型的介绍 0.泛型的介绍: 什么是泛型:

11、泛泛的类型,是一种不确定的类型 泛型的格式:, 比如; ArrayList 1.泛型的好处:提高安全性 将运行时期的ClassCastException,转移到了编译时期变成了编译失败。 避免了类型强转的麻烦 例如:/* * 泛型的好处: * 1.不使用泛型 * * 2.使用泛型 * * authoryingpeng * */publicclass GenericDemo publicstaticvoid main(String args) / TODO Auto-generated method stub generic(); /不使用泛型 publicstaticvoid noGeneri

12、c() /什么叫不使用泛型,就是不写 ArrayListarr = newArrayList(); /不写泛型 那么arr中可以存任何的引用类型 arr.add(1); arr.add(java); arr.add(true); arr.add(1.5F); arr.add(1.5); /遍历 /这时候程序就出现了安全问题 for (Object obj : arr) String i = (String)obj; System.out.println(i); /使用泛型 publicstaticvoid generic() /使用泛型指的是 写上 ArrayListarr = new Arr

13、ayList(); /添加数据 arr.add(1); arr.add(java); arr.add(3.14); arr.add(true); /遍历 for (String s : arr) System.out.println(s); 2.泛型的定义了解 探究:泛型中的的含义,代表不确定的类型 泛型的本质:它是一个变量,可以接收一种数据类型 泛型用法比较广,可以用在类上,方法上,接口上 a.泛型类:是指泛型用在类上,比如ArrayList 泛型类上的泛型什么时候确定?创建该类对象的时候,我们可以确定 b.泛型方法:是指泛型用在方法上 泛型方法上的泛型什么时候确定?调用该方法并且传入参数的时候我们可以确定 c.泛型接口:是指泛型用在接口上,比如:Collection3.泛型接口上的泛型什么时候确定? 1.在实

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1