在回顾数据结构的[url=http://skeeey.iteye.com/admin/blogs/390806]映射表[/url]时,也顺带简单回顾了Java中的各种Map,但是只是一个大概,这里想对Java中的集合框架做一个详细的梳理,因为Java提供的集合框架实现了一系列重要的数据结构,所以将开发者从繁重的编程开发工作中解脱出来,同时从实际的开发工作中来看,这些集合也是十分重要的,所以一定要对它们掌握透彻。
先看看历史,在JDK1.0时,就有了一些容器类,比如:
[color=green]HashTable
Stack
Vector
Properties[/color]
后来随着集合框架的出现,它们也被整合了进来,可以[url=http://docs.google.com/Doc?docid=0AccGEUp8o-UUZDZwcnQybV85ZnhuYmh3Y3o&hl=en]参见这里[/url]
现代的集合框架主要由大量的[color=red]接口[/color],[color=red]抽象类[/color]还有具体的类组成,而这里接口就是规范,而抽象类为框架提供了扩展的可能性,同时那些实现了一些功能的具体类为开发者提供了强有力的工具。
从[url=http://docs.google.com/Doc?docid=0AccGEUp8o-UUZDZwcnQybV85ZnhuYmh3Y3o&hl=en]框架的结构接口图[/url]可以看出,其实整个Java的集合框架主要由三部分组成,[color=green]Collection[/color],[color=green]Map[/color]和[color=green]Iterator[/color],还有一个比较特殊的接口RandomAccess,这个接口不包含任何方法,只是简单的用于标记一个对象是否具有随机存储的能力,比如Vector,ArrayList,判断一个类是否可以随机存储,可以使用:
再剩下就是具体的类,后面再一一详解
先看看历史,在JDK1.0时,就有了一些容器类,比如:
[color=green]HashTable
Stack
Vector
Properties[/color]
后来随着集合框架的出现,它们也被整合了进来,可以[url=http://docs.google.com/Doc?docid=0AccGEUp8o-UUZDZwcnQybV85ZnhuYmh3Y3o&hl=en]参见这里[/url]
现代的集合框架主要由大量的[color=red]接口[/color],[color=red]抽象类[/color]还有具体的类组成,而这里接口就是规范,而抽象类为框架提供了扩展的可能性,同时那些实现了一些功能的具体类为开发者提供了强有力的工具。
从[url=http://docs.google.com/Doc?docid=0AccGEUp8o-UUZDZwcnQybV85ZnhuYmh3Y3o&hl=en]框架的结构接口图[/url]可以看出,其实整个Java的集合框架主要由三部分组成,[color=green]Collection[/color],[color=green]Map[/color]和[color=green]Iterator[/color],还有一个比较特殊的接口RandomAccess,这个接口不包含任何方法,只是简单的用于标记一个对象是否具有随机存储的能力,比如Vector,ArrayList,判断一个类是否可以随机存储,可以使用:
if(obj instanceof RandomAccess) {
// 可以随机存取
} else {
// 不可以随机存取
}
再剩下就是具体的类,后面再一一详解