您的位置:首页 > 编程语言 > Java开发

Java学习笔记<6>容器

2014-08-15 20:53 369 查看

容器

 

 

 

 

容器API 位于 java.util包内

结构为:

 



 

其中Collection接口定义了存取一组对象的方法,其子接口Set和List分别定义了存储方式

Set:数据对象没有顺序,不可重复

List:数据对象有顺序,可以重复

Map接口定义了存储 键值对的方法

 

 

 

Collection接口

 

方法举例:

 



 

 

 

问题:

 



 

 

原因:

<1>当容器类对象再调用remove、contains等方法时,需要比较两个对象是否相等,这会涉及类型的equals方法

和hashCode方法。

<2>对于自定义类需要重写equals方法和hashCode方法,以实现自定义对象的相等机制。

<3>相等的对象应具有想等的hashCode

 



 

 



 

 

 

 

 

 

Iterator接口

 

<1>所有实现Collection接口的容器都有一个iterator方法用以返回一个实现了Iterator接口的对象

<2>Iterator对象称为迭代器,用来方便实现容器元素的遍历操作

<3>Iterator接口定义了如下方法:

 



 

 

方法举例<1>:

 



 

 

方法举例<2>:

 



 

 

 

 

 

 

 

Set接口

 

<1>Set接口是Collection的子接口,没有实现其他方法,但实现Set接口的容器类中的元素是没有顺序,不重复的。

<2>Set容器可以与数学中的集合的概念相对应

<3>API中提供的Set容易有HashSet和TreeSet

 

 

方法举例<1>:

 



 

 

方法举例<2>:

 



 

 

 

 

 

 

List接口

 

<1>list接口是Collection接口的子接口,list容器中的元素是可以重复并且有顺序的。

<2>list容器中的元素都有一个整数型序号记载其在容器中的位置,可以通过序号存取容器中的元素。

<3>API中实现List容器的有ArrayList和LinkedList等

 

 

方法举例:

 



 

 

 

常用算法:

 



 

 

 

常用算法举例:

 



 

 

 

 

Comparable接口

 

<1>所有可以‘排序’的类都实现了java.lang.Comparable接口

<2>接口只有一个方法 public int compareTo(Object obj);

<3>该方法:

返回 0 表示 this == obj;

返回正数 表示 this  >   obj;

返回负数 表示 this  <   obj;

<4>实现Comparable接口的类通过compareTo方法从而确定该类的排序方式。

 

 

举例:

 



 

 



 

 

 

 

 

Map接口

 

<1>实现Map接口用了存储键值对

<2>Map接口的实现类有HashMap和TreeMap

<3>键值不能重复

 

 

方法举例:

 



 

 

 

 

 

 

 

 

 

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 容器