- 1、本文档共56页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
01java基础 - 01
Java基础01方法增强:继承的方法子类继承父类,将父类的某个方法进行复写,从而进行增强。使用前提:必须有父类,且存在继承关系。装饰者模式包装对象和被包装对象要实现相同的接口,包装的对象需要获得被包装对象的引用(私有接口属性,添加有参构造,不需要重写的,用属性调用原方法。测试时,创建包装对象时,参数传被包装对象就可以了。根据多态普通方法编译看左,运行看右,普通方法就是被包装对象的方法)此设计模式专门用于增强方法前提:必须有接口缺点:如果接口的方法很多而我们只需要增强其中的某个方法,其他的方法都需要原有调用。动态代理常用数据结构*-*在Java中提供了Collection和Map接口。其中List和Set继承了Collection接口,是单列集合;同时vector、ArrayList、LinkedList三个类实现List接口;HashSet、TreeSet、LinkedHashSet(有序的)实现Set接口。HashMap、HashTable、LinkedHashMap、TreeMap实现Map接口,是双列集合。容器中的七大接口Iterator接口、Map接口、Collection接口Set接口、List接口、Queue接口、Comparable接口对象容器接口:list,set,map区别list:存储:有序有索引可重复;访问:可以for循环,foreach循环,iterator迭代器迭代。set:存储:无索引,不重复的;访问:可以foreach循环,iterator迭代器迭代,没有for遍历map:存储:存储的是一对一对的映射“key=value”。访问:可以map中的keyset()把key值转为set存储,然后迭代这个set,用map.get(key)获取value,也可以用EntrySet()转换为entry对象用迭代器迭代,Entry中存放的是key和value。import java.util.HashMap;import java.util.Iterator;import java.util.Map.Entry;//是接口import java.util.Set;publicclass Map1 {/* * 创建一个Map集合,添加数据进行测试,使用Map集合的两种遍历方式进行遍历 */publicstaticvoid main(String[] args) {HashMapInteger, Integer hm = new HashMap();hm.put(1, 10);hm.put(2, 20);hm.put(3, 30);hm.put(1, 40);SetInteger keySet = hm.keySet();IteratorInteger iterator = keySet.iterator();System.out.println(keySet+Iterator遍历:);while (iterator.hasNext()) {Integer key = iterator.next();System.out.print(key + : + hm.get(key) + );}System.out.println(\n----------------------);SetEntryInteger, Integer entrySet = hm.entrySet();System.out.println(entrySet+增强for遍历:);for (EntryInteger, Integer entry : entrySet) {System.out.print(entry.getKey() + : + entry.getValue() + );}}}并发修改异常*-*迭代的常规用法中我们要尽量避免在迭代过程中为集合添加/删除数据。否则会报错,原因是Java抛出了并发修改异常。迭代过程中并发修改异常的原因为迭代器中”记忆”的集合长度与集合中实际长度不同,而导致出现索引与实际元素不符甚至无限循环的情况发生。所以在使用Iterator时,避免类似操作,for循环底层为迭代器实现,所以也需要避免类似操作。有些迭代器避免了这样的问题,如ListIterator,可以添加。迭代器是依赖于集合而存在的,在判断成功后,集合的中新添加了元素,而迭代器却不知道,所以就报并发修改异常。简单描述就是:迭代器遍历元素的时候,通过集合是不能修改元素的。迭代器迭代元素,迭代器修改元素;集合遍历元素,集合修改元素(普通for,因增强for底层使用的是迭代器)。Iterator和 ListIterator的不同使用方法1.ListIterator可以再迭代时对集合进行add、remove、set操作,而Iterator 迭代器只能在迭
您可能关注的文档
- 一位幼儿园园长在毕业典礼上的精彩致辞.docx
- 一切为了孩子是最大的谎言.ppt
- 一年二班亲子阅读材料.doc
- 一年级古诗80首.docx
- 一年级奥数教师用教材.doc
- 一次正确的小升初--成功逻辑解析.doc
- 一时没接到心远面试的可以借鉴.pdf
- 一般现在时分析与讲解.docx
- 七上古诗词复习.doc
- 七年八年古诗古文.doc
- 内河定期租船合同范本.docx
- 2024长江财产保险股份有限公司湖北分公司农险岗位招聘32人笔试参考题库附带答案详解.doc
- 中国住宅IC卡智能水表行业市场占有率及投资前景预测分析报告.pdf
- 外研版(三起)小学英语六年级上册知识点归纳总结.docx
- 中国住宅IC卡智能燃气表行业市场占有率及投资前景预测分析报告.pdf
- 中国住宅安全护栏行业市场占有率及投资前景预测分析报告.pdf
- 2024长江生态环保集团有限公司参股企业高管招聘1人笔试参考题库附带答案详解.doc
- 2024陕西中国西电所属子企业面向内部公开招聘1人笔试参考题库附带答案详解.doc
- 出租结婚用品合同标准文本.docx
- 中国住宅便携式汽油发电机行业市场占有率及投资前景预测分析报告.pdf
文档评论(0)