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

Java Hour 13 集合基础

2013-10-26 19:20 197 查看
有句名言,叫做10000小时成为某一个领域的专家。姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧。

本文作者Java 现经验约为13 Hour,请各位不吝赐教。

Java 中的集合

集合的接口与实现分离

具体的集合

集合与数组之间的转换

一些历史遗留的集合

Java 类库中,集合类的基本接口是Collection接口。

public interface Collection<E> extends Iterable<E>


这里有个迭代器接口。

注意,在Java 中接口的命名和C# 是不一样的,没有显示的I开头。

这个实现了foreach 的接口基本类似。

一些具体的集合:

LinkedList

散列集

hashcode 必须与equal 兼容

这里Java 的书讲的挺好,在C# 系列的书中,很少会关注到这一部分。

散列表用链表数组实现。每个列表称为桶。要查找某个对象,首先计算它的散列码,然后与桶的总数取余,结果就是保存这个元素的桶的索引。

例如某个对象的散列码是129,有128个桶,那么对象应该保存在1号桶中。

当然有碰撞的情况。

由装填因子来确定何时对散列表进行再散列。

public native int hashCode();


返回散列码。

以上就是HashSet, 接下去讲到TreeSet, 当前采用的是红黑树的实现。!

接下去就是Map

HashMap 和TreeMap

集合有两个接口Collection 和Map

Collections 类包含了很多有用的方法,要区别开对应的接口Collection
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: