码迷,mamicode.com
首页 > 其他好文 > 详细

容器总结

时间:2015-02-07 17:25:28      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:

1.记住两张图(一张是接口图,一张是接口与实现类的图)及其特性。

2.注意: 本章提供的容器,可用来存放各种对象。当各种对象添加到容器中后,其类型会变为Object类型。

3、如何遍历与Collection接口相关的容器。
   1) 方法一: 通过新增的for循环实现遍历。
   2) 方法二: 凡是与Collection接口的容器均拥有一个 iterator()方法,该方法
      用来反馈一个Iterator接口的迭代器。通过此迭代器可以实现容器的遍历。

  4.List接口的特性:
   1) 元素在位置上是有序的。即: 每一个元素拥有一个位置的索引号,该号从零开始。

   2) 元素可以重复。即: 重复的元素可以在不同的位置上。

   3) 它比父接口Collection多了一些与位置相关的操作方法。
   插入、删除某个位置上的元素、替换某个位置上的元素、获取某个位置上的元素等。

   4) 它的常用实现类: LinkedList 和 ArrayList。

    LinkedList采用链表的原理来管理所有的元素。
   因此,它在插入和删除时效率较高,而查找时效率较低。

    ArrayList 采用队列的原理来管理所有的元素。
    因此,它在插入和删除时效率较低,而查找时效率较高。

1、Set接口的特性:
  1) 元素无序;

  2) 元素不重复; 当添加重复的元素时会采用屏蔽技术屏蔽掉。

  3) 它的常用实现类为: HashSet。

  3) 判断元素相等依赖equals()方法。同时,它还依赖hashCode()方法。

   注意: 在Java中,规定: 一个对象拥有一个哈希编码,该编码就是一个int型整数,它由系统自动产生。
   注意: 在Java中,规定: 相等的对象应该拥有相同的哈希编码。

   结论: 当你的容器由 HashSet实现类所构建的且用来存放自定义类的对象时,则要求:
   该自定义类必须重写 equals()和hashCode()两个方法,为对象判断相等提供依据。

1、SortSet接口的特性:
 1) 元素有序(元素会按大小自动排序)。

 2) 元素不重复。当添加重复的元素时会采用屏蔽技术屏蔽掉。

 3) 它的实现类为: TreeSet。

 2、TreeSet实现类的特性:
 1) 元素有序(元素会按大小自动排序)。

2) 元素不重复。当添加重复的元素时会采用屏蔽技术屏蔽掉。

 3) 判断元素相等依赖equals()方法。但,实质上它依赖compareTo()方法。
 注意: 凡是能够自动排序的容器,均要求存放的元素必须是相同的类型。
 (即:不同种类的元素不可比较大小)

 结论: 当容器由 TreeSet实现类所构建且用来存放自定义类的对象时,则要求:
 该自定义类必须实现Comparable接口,重写compareTo()方法,为对象比较
 大小提供依据。

注意: 在重写compareTo()方法时,要对对象的所有属性一一比较,确保在判断对象相等时
 与 equals()方法是一致。

 

容器总结

标签:

原文地址:http://www.cnblogs.com/d1349077083/p/4279044.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!