深入学习java集合:JAVA集合类主要接口

1、java集合类关系图


      上述类图中,实线边框的是实现类,比如ArrayList,LinkedList,HashMap等,折线边框的是抽象类,比如AbstractCollection,AbstractList,AbstractMap等,而点线边框的是接口,比如Collection,Iterator,List等。

    Collection 接口是 ListSet 和 Queue 接口的父接口,该接口里定义的方法既可用于操作 Set 集合,也可用于操作 List 和 Queue 集合:

        Iterator 接口主要用于遍历  Collection  集合中的元素, Iterator 对象也被称为迭代器。 Iterator 接口隐藏了各种  Collection  实现类的底层细节,向应用程序提供了遍历  Collection  集合元素的统一编程接口。 Iterator 仅用于遍历集合, Iterator 本身并不提供承装对象的能力。如果需要创建  Iterator 对象,则必须有一个被迭代的集合。 主要包含hashNext(),next(),remove()三种方法。它的一个子接口LinkedIterator在它的基础上又添加了三种方法,分别是add(),previous(),hasPrevious()。也就是说如果是先Iterator接口,那么在遍历集合中元素的时候,只能往后遍历,被遍历后的元素不会在遍历到,通常无序集合实现的都是这个接口,比如HashSet,HashMap;而那些元素有序的集合,实现的一般都是LinkedIterator接口,实现这个接口的集合可以双向遍历,既可以通过next()访问下一个元素,又可以通过previous()访问前一个元素,比如ArrayList。

2、Collection接口与Iteratble接口

                  

     Collection接口继承了Iteratble接口,而后者体现了设计模式中的的迭代器模式,通过iterator()方法返回一个遍历集合的Iterator对象。Collection接口中定义了集合的基本操作方法。

3、Set接口、List接口和ListIterator接口
   
       
     Set接口是java集合类中的不可重复的集合类容器的基本接口,继承自Collection接口, Set  集合实现中不允许包含相同的元素 ,如果试把两个相同的元素加入同一个  Set  集合中,则添加操作失败。 Set  判断两个对象是否相同不是使用  ==  运算符,而是 根据  equals  方法。
     List是java集合类中的有序可重复的列表类容器的基本接口,同样继承自Collection接口,添加了许多与 操作顺序列表相关的方法,如E get(int index)、 E set(int index, E element);分别获取列表中下标为 index的元素以及设置元素;List<E> subList(int fromIndex, int toIndex)方法用于形成一个列表的子视图。遍历列表,还可以通过 调用ListIterator<E> listIterator()方法,获取一个专门为遍历列表而设计的 ListIterator。

4、Map接口
      
       Map  用于保存具有映射关系的数据,因此  Map  集合里保存着两组值,一组值用于保存  Map  里的  Key ,另外一组用于保存  Map  里的 Value, Map  中的  key  和   value  都可以是任何引用类型的数据。 Map  中的  Key  不允许重复 ,即同一个  Map  对象的任何两个  Key  通过  equals  方法比较中返回  false。 Key  和  Value  之间存在单向一对一关系,即通过指定的  Key  总能找到唯一的,确定的  Value
      Map接口内部定义了Entry接口,用于具体实现中key/value对的存储。











  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值