java容器
<!----><!--@font-face{font-family:宋体}@font-face{font-family:宋体}@font-face{font-family:Calibri}@font-face{font-family:"\@宋体"}p.MsoNormal, li.MsoNormal, div.MsoNormal{marg
java容器概念:
javaAPI所提供的一些接口,实现这些接口的类的实例,用于程序中存放对象。
好处:当需要空间的时候会自动增长,不需要的时候就会自动的释放。
java容器API的结构图:
Collection接口定义了存取一组对象的方法,其子接口Set和List分别定义了存储方法。
Set接口类似集合,没有顺序,不可以重复。
List接口有顺序,可以重复(重复是指两个对象equals)。
Map接口定义了存储“键(key)-值(vlaue)映射对”的方法。
Collection中的方法:
在调用remove、contains等方法需要比较对象是否相等,这会涉及到equals方法和hashCode方法:对于自定义的类型需要重写equals和hashCode方法以实现自定义的对象相等规则。相等的对象应该具有相等的hash codes。
Iterator接口:
我们可以看到,所有实现了Collection接口的容器类都有一个iterator方法,返回了一个Iterator接口的对象。
Iterator对象称为迭代器,用以方便的实现对容器内元素的遍历操作。
Iterator接口定义了如下方法:
BooleanhasNext() 判断游标右边是否还有元素。
Object next();返回游标右边的元素并将游标移动到下一个位置。
Void remove();删除游标左边的元素,在执行完next之后该操只能执行一次。
Set接口:
Set接口是Collection子接口,Set接口没有提供额外的方法,但实现Set接口的容器类中的元素是没有顺序的,而且不可重复。
set与数学中的集合相对应。
HashSet和TreeSet等。
List接口:
List接口是Collection的子接口,实现List接口的容器中的元素是有序的,而且是可以重复的。
List容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号来存取容器中的元素。
List常用方法:
List容器类:ArrayList和LinkedList类。
读的效率和改的效率:
Array读快改慢。
Linked改快读慢。
Hash两者之间。
Compare接口:
确定容器中对象的“大小”和顺序?
所有可以排序的类都实现了java.lang.Comparable接口,这个接口中只有一个方法:publicint compareTo(Object obj) 返回值0,正数,负数。
Map接口:
实现Map接口的类用来存储键--值对。
Map接口实现类有HashMap和TreeMap等。
Map类中存储的键值对通过键来标识,所以键值不能重复。
更多推荐
所有评论(0)