您好,欢迎访问三七文档
第11章持有对象2011年11月8日21:27对于集合类可以接受一个类型参数(typeparameters)(也可多个),它指定了集合可以保存的的类型。若未指定默认为Object,取出时需要类型转换。通过使用范型(generics)可以在编译期防止将错误类型对象放置在容器中。CollectionT接口。独立元素系列。主要继承接口包括:List,按照插入顺序保存元素。Set,不能有重复元素。Queue按照规则确定对象的顺序,只准许在容器的一段插入对象,从另一端移除对象。MapK,T接口。一组成对的“键值对”对象,准许通过键来查找值。映射表可以使用另一个对象来查找某个对象,它们被称为“关联数组”Collection打印出来的内容用方括号括住,每个元素由“,”分隔。Map则用大括号括住,键与值由等号联系(键在左边,值在右边)。Collection每个单元保存一个对象,Map每个单元存储两个对象。HashSet可以最快的速度获取元素。TreeSet按照升序保存对象。LinkedHashSet按照添加的顺序保存对象。Map对于每一个键(Key),只能存储一次。HashMap可以最快的速度获取元素。TreeMap按照升序保存对象。LinkedHashMap按照添加的顺序保存对象。List:两种类型,ArrayList,擅长随机访问元素。插入和移除元素时较慢(底层实现为Array);LinkedList插入和删除操作代价较低,随机访问较慢。确定一个元素是否属于List中的元素,会调用equals()方法(返回一个数值)。迭代器(Iterator)通常被称为轻量级对象,创建代价较小。Iterator只能单向移动。1.AskaCollectiontohandyouanIteratorusingamethodcallediterator().ThatIteratorwillbereadytoreturnthefirstelementinthesequence.2.Getthenextobjectinthesequencewithnext().3.SeeifthereareanymoreobjectsinthesequencewithhasNext().4.Removethelastelementreturnedbytheiteratorwithremove().AnIteratorwillalsoremovethelastelementproducedbynext(),whichmeansyoumustcallnext()beforeyoucallremove().ListIterator,Iterator的子类,可以双向移动。Stack(栈):先进后出(LIFO),又称叠加栈(pushdownstack),最后压入(push)进栈元素,第一个被弹出(pop)栈Set:不保存重复元素。与Collection完全相同的接口,无其他额外功能。Collection和Map可以通过将保存元素类型设为容器类,则可轻易将其扩展多维。Queue队列是一个典型的先进先出(FIFO)的容器。PriorityQueue(优先队列):下一个操作的是具有最高优先级的元素。PriorityQueue上调用offer()方法插入一个对象时,会将其在队列中排序。默认的是自然排序。可以修改Comparator提供自己的排序方法。Collection是所有序列容器的根接口。实现Collection必须提供Iterator()方法。实现了Iterator接口的类可以使用Foreach语法。简单的容器分类:
本文标题:第11章 持有对象
链接地址:https://www.777doc.com/doc-2242082 .html