javase第七讲java中的集合框架

javase第七讲java中的集合框架

ID:36206270

大小:349.50 KB

页数:20页

时间:2019-05-07

javase第七讲java中的集合框架_第1页
javase第七讲java中的集合框架_第2页
javase第七讲java中的集合框架_第3页
javase第七讲java中的集合框架_第4页
javase第七讲java中的集合框架_第5页
资源描述:

《javase第七讲java中的集合框架》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、JavaSE第七讲Java中的集合框架概述容器类类库的用途是持有对象,所有的容器都只能保存对Object的引用。Collection:一组独立的元素List:必须保持元素特定的顺序Set:不能有重复元素Map:一组成对的键值对(key-valuepair,keyandvalueareallobjects)对象。因此Map可以返回所有键(key)组成的Set,所有值(value)组成的Collection。集合框架图更多的时候我们只关心顶层的接口(interface)和具体的实现类(concreteclass),而且不再推荐使用遗留的类(如Vector、Hashtable

2、等)。可以将上图简化为右图:简化的集合框架图容器中的对象都是Object容器中只能容纳对象,不能容纳基本类型在将对象加入容器的时候就丢失了类型信息在使用容器中的元素前必须要做类型转换操作JavaSE的自动装箱(Auto-boxing)与拆箱(Auto-unboxing)基本数据类型(primitivetype)与对应的包装类(wrapperclass)之间可以自动进行转换。注意关于null引用的拆箱和相等性“==”的判断容器中可以容纳基本类型JavaSE增加了自动拆装箱的特性后,容器中就可以容纳基本类型了。把基本类型放入容器前自动装箱从容器中取基本类型前自动拆箱Java

3、SE的泛型(Generictype)泛型支持定义带有类型参数(Parameterizedtype)的类,这些参数由您在实例化时指定。泛型为提高大型程序的类型安全和可维护性带来了很大的潜力。泛型在本质上是指参数化类型操作参数化类型的类,接口或者方法被称作泛型,如泛型类或泛型方法。Point.java限定容器中能持有的对象类型JavaSE增加范性机制后,就可以限定容器中能持有的对象类型。对象放入容器后不会自动丢失类型信息从容器中取对象不需要转型类型安全,减少开发的复杂度迭代器(Iterator)遍历并选择序列中的对象。客户端程序员不关心序列底层的结构。集合对象的iterat

4、or()方法要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。使用next()获得序列中的下一个元素。而且只能向下移动使用hasNext()检查序列中是否还有元素使用remove()将上一次返回的元素从迭代器中移除List接口次序是List最重要的特点;它保证维护元素特定的顺序。ArrayList,由数组实现的List。允许对元素进行快速随机访问,但是向List中间插入与移除元素的速度很慢。LinkedList,对顺序访问进行了优化,向List中间插入与删除的开销并不大。随机访问则相对较慢。TestLinkedLi

5、st.java,TestArrayList.javaSet接口存入Set的每个元素都必须是唯一的。因为Set不保存重复元素,加入Set的元素必须定义equals()方法以确保对象的唯一性。Set接口不保证维护元素的次序。HashSet:为快速查找设计的Set。存入HashSet的对象必须定义hashCode()重载equals()方法时永远要重载hashCode()方法。否则的话会导致类与所有基于散列的集合一起使用时不能正常工作,这些集合包括HashSet、HashMap和Hashtable。Set接口java.lang.Object规范的约定如果在应用程序执行期间,用

6、于对象的equals()方法中的信息不被修改,那么对同一对象的多次调用,hashCode()方法总是返回相同的整数。这个整数不要求在同一应用程序的不同执行间保持一致。如果两个对象按照equals()方法是相同的,那么对这两个对象的任一个调用hashCode()方法,必须要产生同样的整数结果如果两个对象根据equals()方法不相同,那么对这两个对象中的任一个对象调用hashCode()方法,不要求产生两个不同的整数结果。但是,为不相等的对象产生不同的整数结果可以提高hash表的性能。PhoneNumber.javaSet接口LinkedHashSet:具有HashSet

7、的查询速度,同时使用链表维护元素的次序,使得看起来元素是以插入的顺序保存的。SortedSet:保持次序的Set,底层为树结构。使用它可以从Set中提取有序的序列。TreeSet是接口SortedSet的唯一实现类,SortedSet的意思是“按比较函数对元素排序”,而不是指“元素插入的次序”。插入到SortedSet中的元素必须实现java.lang.Comparable接口(或者能够被一个特定的Comporator接受);并且所有的元素必须必须可以相互比较,否则会抛出ClassCastException。强烈建议compareTo()

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

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

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