码迷,mamicode.com
首页 > 编程语言 > 详细

Java集合学习(二)

时间:2015-10-11 11:28:44      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:

Collection实现类:
1. public abstract class AbstractCollection<E> extends Object implements Collection<E>:
实现了Collection类的基本框架,用来减少实现Collection接口的工作量。
为了实现一个不可修改的接口,需要继承该类并实现该接口的iterator和size方法。iterator方法返回的类iterator,必须实现hasNext和next方法。
为了实现一个可修改的接口,需要重写该类的add方法,否则会抛出UnsupportedOperationException异常。返回的迭代器类iterator必须实现remove方法。
就像Collection接口推荐的那样,该类一般需实现两个构造函数,一个是void参数,另一个是Collection入参。
主要方法:
public abstract Iterator<E> iterator():返回指向集合元素的迭代器;
p
ublic String toString():返回当前集合的字符串描述;

2.
public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E>:
该类实现list接口基本框架,主要针对随机访问数据存储方式,如数组。针对类似链表的顺序访问的数据,则更偏向于使用 AbstractSequentialList类。
为了实现不可修改的链表,只需要继承该类并提供get(int),size()方法的实现。
为了实现一个可修改的链表,则需要额外重写set(int, E)方法,否则会抛出UnsupportedOperationException异常。如果链表是可变长度的,还需要额外重写add(int, E)和remove(int)方法。
此外,按照Collection接口所推荐的,通常需要提供一个void构造函数和collection构造函数。
跟其它抽象接口不同的是,该类不需要实现迭代器。迭代器和链表迭代器在下面这些随机访问函数里实现:get(int)
, set(int E), add(int E) and remove(int).

该类是Java Collections Framework成员之一。

3.
public abstract class AbstractQueue<E>extends AbstractCollection<E>implements Queue<E>:
该类提供队列操作的基本实现。对于基类中不允许空元素的方法实现,该类进行了恰当的处理。方法add,move,element分别基于offer,poll,peak,这些方法通常会抛出异常而不是提示失败或者返回空。
当队列继承该类时,最少需要实现不允许插入空元素的Queue.offer(E)方法以及Queue.peek(), Queue.pool(), Queue.size(), 支持Iterator.remove()的Collection.iterator()方法。此外的方法也可以选择重写。如果不能满足上述条件,则可以考虑选择AbstractCollection的其它子类。

该类是Java Collection Framework成员之一。



 

 

Java集合学习(二)

标签:

原文地址:http://www.cnblogs.com/wmymartin/p/4868953.html

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