你的位置:首页 > Java教程

[Java教程]《JAVA集合框架(JCF)》

  Java SE 包含了由一组类和接口组成的Java集合框架(Java Collection Framework,简称JCF),其主要功能是用来将存储的数据以某种结构组织,并以特定的方式来访问这些数据,其目标是提供一个处理对象集合的通用框架,减少程序员处理不同的对象集合时的编码量,而Java集合类都位于java.util包中。

  接下来就简单的谈下JCF类的内容。首先Java集合框架将对象的存储方式分为三种类型,分别是:Set(集)List(列表)Map(映射)

  Set(集):对象容器中的对象没有顺序,且不能重复,对应接口Set;Set接口继承自Collection接口的全部方法,对于我们这些Java初学者来说,需要先掌握Set接口下的HashSet类TreeSet类

  HashSet类的特点是:当遍历HashSet时,其中的元素是没有顺序的;HashSet中不允许出现重复元素,这里的重复元素是指有相同的哈希码,并且用equals()方法进行比较时,返回true的两个对象;允许包含null元素。

  TreeSet类使用元素的自然顺序对元素进行排序,或者根据创建set时提供的Comparator进行排序,具体取决于使用的构造方法。也就是说,TreeSet支持自然排序和自定义排序两种方式。默认情况下,TreeSet采用自然排序方式。

  List(列表):List中的元素是有顺序的;List通常允许重复元素;List的实现类通常支持null元素;可以同过索引访问List对象容器中的元素。我们需要先掌握该接口下的ArrayList类LinkedList类。

  ArrayList类在概念上和数组类似,表示一组编入索引的元素,区别之处在于ArrayList没有预先确定的大小,其长度可按需增大。

  LinkedList类是实现了双向链表功能的列表,它将列表中的每个对象放在独立的空间里中,而且每个空间中还保存有上一个和下一个链接的索引;LinkedList不支持快速随机访问,如果要访问LinkedList中第n个元素,必须从头开始查找,然后跳过前面的n-1个元素。并且,虽然LinkedList也提供了一个get()方法,可以根据指定的索引来获取对应的元素,但是正因为它不支持快速随机访问,所以效率比较低下。

  Map(映射):是Java集合框架中不同于Collection接口的另一个重要接口,它对应的是在一种从键(key)到值(value)的对应关系的集合。也就是说,Map类型的对象容器里面保存着两组对象,一组对象用于保存Map里的key,另外一组用于保存value。key和value可以是任何引用类型的数据。key不能重复,但是value可以重复。我们需要先掌握HashMap类TreeMap类

  HashMap类是基于哈希算法的Map接口的实现。HashMap将它的键保存在哈希表中进行维护,键是唯一的。但是,HashMap并不保证键以特定顺序排列,特别是不保证顺序永久不变。

  TreeMap类是基于红黑树算法的Map接口实现。TreeMap中键的存放方式与TreeSet相似,它将键存放在树中,键的顺序按照自然顺序或者自定义顺序两种方式排列。


去贵州旅游最佳路线去贵州旅游最佳时间贵州旅游线路报价贵州旅游攻略大全贵州旅游路线推荐水立方门票_水立方门票价格_水立方门票是多少钱_水立方门票价格是多少钱 乌鲁木齐天气 河南开封府门票价格多少钱 塔尔寺门票_塔尔寺门票价格_塔尔寺门票价格是多少 世园会开幕式力求简约但不简单 东北二人转 西安世园会蝶恋花舞台迎来首演 运城民间社火 2015杭州大学生旅游节几号到几号?杭州大学生旅游节具体时间? 潍坊富华游乐园官网?富华游乐园项目哪些免费玩的? 浮盖山峡谷漂流附近景点有哪些?江山浮盖山峡谷漂流周边景区? 浮盖山峡谷漂流小孩多少钱?江山浮盖山峡谷漂流儿童票价格? 三亚槟榔谷有班车吗?槟榔谷班车在哪里坐? 2015元旦深圳动漫灯会活动时间?深圳欢乐海岸海洋馆元旦活动? 马提尼克 让人长高的南美神奇小岛(全文) 三亚槟榔谷有直达车吗?三亚到槟榔谷怎么坐车? 2SK2699(F,T) Datasheet 2SK2699(F,T) Datasheet TK12A60U(Q) Datasheet TK12A60U(Q) Datasheet TK12X60U(TE24L,Q) Datasheet TK12X60U(TE24L,Q) Datasheet 浙江出发去巴基斯坦旅游 浙江出发去巴基斯坦旅游 浙江出发去巴基斯坦旅游 浙江出发去巴拉圭旅游 浙江出发去巴拉圭旅游 浙江出发去巴拉圭旅游 浙江出发去巴勒斯坦旅游 浙江出发去巴勒斯坦旅游 浙江出发去巴勒斯坦旅游