阶段总结JDK5的新特性.doc

阶段总结JDK5的新特性.doc

ID:51183809

大小:23.50 KB

页数:3页

时间:2020-03-20

阶段总结JDK5的新特性.doc_第1页
阶段总结JDK5的新特性.doc_第2页
阶段总结JDK5的新特性.doc_第3页
资源描述:

《阶段总结JDK5的新特性.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Jdk5.0新特性:Collection在jdk1.5以后,有了一个父接口Iterable,这个接口的出现的将iterator方法进行抽取,提高了扩展性。--------------------------------------------------增强for循环:foreach语句,foreach简化了迭代器。格式://增强for循环括号里写两个参数,第一个是声明一个变量,第二个就是需要迭代的容器for(元素类型变量名:Collection集合&数组){…}高级for循环和传统for循环的区别:高级for循环在使用时,必须要明确被遍历的目标。这个目标,可以是C

2、ollection集合或者数组,如果遍历Collection集合,在遍历过程中还需要对元素进行操作,比如删除,需要使用迭代器。如果遍历数组,还需要对数组元素进行操作,建议用传统for循环因为可以定义角标通过角标操作元素。如果只为遍历获取,可以简化成高级for循环,它的出现为了简化书写。高级for循环可以遍历map集合吗?不可以。但是可以将map转成set后再使用foreach语句。1)、作用:对存储对象的容器进行迭代:数组collectionmap2)、增强for循环迭代数组:String[]arr={"a","b","c"};//数组的静态定义方式,只试用于数组首

3、次定义的时候for(Strings:arr){System.out.println(s);}3)、单列集合Collection:Listlist=newArrayList();list.add("aaa");//增强for循环,没有使用泛型的集合能不能使用增强for循环迭代?能for(Objectobj:list){Strings=(String)obj;System.out.println(s);}4)、双列集合Map:Mapmap=newHashMap();map.put("a","aaa");//传统方式:必须掌握这种方式Setentrys=map.entry

4、Set();//1.获得所有的键值对Entry对象iter=entrys.iterator();//2.迭代出所有的entrywhile(iter.hasNext()){Map.Entryentry=(Entry)iter.next();Stringkey=(String)entry.getKey();//分别获得key和valueStringvalue=(String)entry.getValue();System.out.println(key+"="+value);}//增强for循环迭代:原则上map集合是无法使用增强for循环来迭代的,因为增强for循环只

5、能针对实现了Iterable接口的集合进行迭代;Iterable是jdk5中新定义的接口,就一个方法iterator方法,只有实现了Iterable接口的类,才能保证一定有iterator方法,java有这样的限定是因为增强for循环内部还是用迭代器实现的,而实际上,我们可以通过某种方式来使用增强for循环。for(Objectobj:map.entrySet()){Map.Entryentry=(Entry)obj;//obj依次表示EntrySystem.out.println(entry.getKey()+"="+entry.getValue());}5)、集

6、合迭代注意问题:在迭代集合的过程中,不能对集合进行增删操作(会报并发访问异常);可以用迭代器的方法进行操作(子类listIterator:有增删的方法)。6)、增强for循环注意问题:在使用增强for循环时,不能对元素进行赋值;int[]arr={1,2,3};for(intnum:arr){num=0;//不能改变数组的值}System.out.println(arr[1]);//2--------------------------------------------------可变参数(...):用到函数的参数上,当要操作的同一个类型元素个数不确定的时候,可是

7、用这个方式,这个参数可以接受任意个数的同一类型的数据。和以前接收数组不一样的是:以前定义数组类型,需要先创建一个数组对象,再将这个数组对象作为参数传递给函数。现在,直接将数组中的元素作为参数传递即可。底层其实是将这些元素进行数组的封装,而这个封装动作,是在底层完成的,被隐藏了。所以简化了用户的书写,少了调用者定义数组的动作。如果在参数列表中使用了可变参数,可变参数必须定义在参数列表结尾(也就是必须是最后一个参数,否则编译会失败。)。如果要获取多个int数的和呢?可以使用将多个int数封装到数组中,直接对数组求和即可。-----------------------

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。