java中关于collection和map及其子类(zz)
collection(集合)是一个根接口,用来描述一组对象的集合。JDK并没有直接提供对个接口的实现,而是提供了对她的子接口的实现例如set和list等。在collection接口中用的最多的两种基本方法是:add和Iterator。add是把对象添加到相应的数据结构中,如果成功返回true,否则返回false(集合中不能拥有相同的元素)。而Iterator方法则返回一个Iterator接口的对象。Iterator接口又包括了三种基本操作:next,hasnext,remove。next用来依次访问数据结构中的元素,hasnext用来判断是否还有没有访问的元素,remove用来删除最后一次调用next返回的对象。
List是collection的子接口,她是一种有序的集合(队列)。通过他可以精确的控制访问数据结构的顺序和位置。
set也是collection的子接口,她是一种无序、散列的集合(哈西表)。通过他可以快速查找他的数据结构而不需要知道具体的排列方式。
map(映射)是一个“键-值”对应的接口。每一个键只能映射唯一的值。
还有些其他子接口及实现类可以参考 http://java.sun.com/j2se/1.4/docs/api/
至于具体选用哪一种方案,以下仅供参考:
1)大量的随机访问可以用ArrayList类
2)大量的插入、删除建议用LinkedList类
3)关于Set,建议都使用HashSet类
4)映射的最佳策略是创建和填充时用TreeMap日后需要大量检索时再转换成HashMap
List是collection的子接口,她是一种有序的集合(队列)。通过他可以精确的控制访问数据结构的顺序和位置。
set也是collection的子接口,她是一种无序、散列的集合(哈西表)。通过他可以快速查找他的数据结构而不需要知道具体的排列方式。
map(映射)是一个“键-值”对应的接口。每一个键只能映射唯一的值。
还有些其他子接口及实现类可以参考 http://java.sun.com/j2se/1.4/docs/api/
至于具体选用哪一种方案,以下仅供参考:
1)大量的随机访问可以用ArrayList类
2)大量的插入、删除建议用LinkedList类
3)关于Set,建议都使用HashSet类
4)映射的最佳策略是创建和填充时用TreeMap日后需要大量检索时再转换成HashMap