频道栏目
首页 > 程序开发 > 软件开发 > Java > 正文
java集合架构(1)
2017-03-08 09:16:11         来源:qq_36266284的博客  
收藏   我要投稿

java集合架构(1):所谓的框架就是一个类库的集合。集合框架就是一个用来表示和操作的统一集合的统一架构,它包含了实现集合的接口与类。

(2)集合框架中不同的集合类有各自不同的数据结构,所以在使用中要根据使用的性能要求来选择不同的集合类

(3)集合类存放在java.util包中,今后进行程序编程时将大量使用集合类和相关接口

2、集合的组成

主要有这些接口组成:

Iterable 迭代器接口

Collection 类集接口

List 列表接口

Set 数据集接口

Queue 队列

Map 键值对组合映射表

\

3、Iterable接口:

(1)实现该接口允许对象成为“foreach”语句的目标,即该集合对象允许迭代。

简单来说就是,一旦一个容器去实现了这个接口,我们就可以通过这个接口中的方法获取这个

迭代器对象,遍历访问数据。

增强for循环 for(int num:array):

(2)类集接口Collection是Iterable的子接口,所以所有类集对象可以迭代访问,而映射Map不行

4、迭代器对象

方法:Iteratoriterator()

功能:返回一个在一组T类型的元素上进行迭代的迭代器

迭代器是实现了Iterator/Listlterator接口的类的对象,可以通过遍历类集,访问操作其中的每个元素

Listlterator扩展了了父接口Iterator,允许双向遍历集合,并可以修改和删除元素。

5、Collection接口

List接口扩展了Collection,特点:有序且可重复的

Set接口扩展了Collection,特点:无序且不可重复的

映射(map)是一个存储关键字/值对的对象,给定一个关键字。可查询得到它的值,关键字和值都可以是对象。映射不是Collection的子接口,所以本身不能使用迭代器来进行遍历。

6、List容器

特点:

有序且可重复的元素,通过整数索引来访问

常用的两个List接口的实现类

(1)ArrayList(动态数组)

支持课随需增长的动态数组

ArrayList类扩展AbstractList并实现了List接口

ArrayList构造方法

ArrayList():构造一个初始容量为10的空列表

ArrayList(Collection <?extends E> c)构造一个包含指定collection的元素的列表,这些元素是按照该collection的迭代器的元素返回的

ArrayList(int capacity)构造一个具有指定初始容量的空列表

使用迭代器来进行统一的遍历

当我们调用无参数构造方法来构造一个ArrayList对象的时候,它内部分配一个初始大小为10的一个Object类型数组当添加的数据容量超过数组大小的时候会产生一个新的数据,新的数组大小为原来数组大小1.5倍,接着把原数组中的数据拷贝到新的数组中

\

使用增强for循环来进行遍历

\

对列表的数据的操作

\

对对象的操作

\

(2)LinkedList--链表

LinkedList扩展AbstractSequentialList实现List及接口

LinkedList提供了一个链表数据结构

有两个构造方法

无参LinkedList()

有参 LinkedList(Collection c)

LinkedList的内部的数据结构

LinkedList它内部封装的是双向链表数据结构,每个节点是一个Node对象,Node对象中封装的添加的元素,还有一个指向上一个Node对象的应用和指向下一个Node对象引用

比较:

不同的容器有不同的数据结构,不同的数据结构操作起来性能是不一样的。

链接数据结构,做插入。删除的效率比较高,但是 查询效率比较低

数组结构,它做查询的时候效率高,因为可以通过下标直接找到元素但是插入和删除的效率比较低,因为要做以为操作。

点击复制链接 与好友分享!回本站首页
上一篇:java环境配置与用记事本编译运行
下一篇:Java源码分析之HashMap
相关文章
图文推荐
文章
推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站