Java学习——集合框架

来源:互联网 发布:怎么申请做淘宝客服 编辑:程序博客网 时间:2024/06/05 01:39

集合框架的概述

集合框架是Java的容器类,专门用来装载对象,基本数据类型会转变为包装类。

集合框架的作用

  1. 在类的内部,对数据进行组织;
  2. 简单而快速的搜索大量的条目;
  3. 有的集合接口,提供一系列排序的元素,并且可以在序列中间快速的插入或者删除元素;
  4. 有的集合接口,提供映射关系,可以通过关键字(key)快速的查找到对应的的唯一对象,而这个关键字可以使任意类型。

集合框架和数组的对比

数组的特点:长度是固定的,只能通过下标访问元素,下标类型只能是数字型。
集合框架的特点,长度是不固定的,有的集合可以通过任意类型查找所映射的具体对象。

集合的框架体系

Java中集合类定义主要是java.util.*包下面,常用的集合在系统中定义了三大接口。这三类的区别是:

  • java.util.Set接口及其子类,set提供的是一个无序的集合;
  • java.util.List接口及其子类,List提供的是一个有序的集合;
  • java.util.Map接口及其子类,Map提供了一个映射(对应)关系的集合数据结构;

数据结构对程序设计有着深远的影响,在面向过程的C语言中,数据库结构用struct来描述,而在面向对象的编程中,数据结构是用类来描述的,并且包含有对该数据结构操作的方法。

在Java语言中,Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类)。所有抽象出来的数据结构和操作(算法)统称为Java集合框架(Java Collection Framework)。

集合框架的层次结构

Collection是集合接口    Set子接口:无序,不允许重复;    List子接口:有序,可以有重复元素。

Set和List的对比

Set:检索元素效率低下,删除和插入效率高,插入和删除不会引起元素位置改变。
List:和数组类似,List可以动态增长,查找元素效率高,插入删除元素效率低,因为会引起其他元素位置改变。

Set和List具体的子类
Set|----HashSet:以哈希表的形式存放元素,插入删除速度很快。List|----ArrayList:动态数组|----LinkedList:链表、队列、堆栈。|----Vector:一种老的动态数组,是线程同步的,效率很低,一般不赞成使用。

集合基本操作Collection(接口)

Collection是最基本的集合接口,Collection接口中声明了一些所有实现类都重写方法,我们浏览Collection中的抽象方法,就知道具体的子类的基本操作。
所有实现Collection接口的类都必须提供两个标准的构造函数:无参数的构造函数用于创建一个空的Collection,有一个Collection参数用于创建一个新的Collection,这个新的Collection与传入的Collection有相同的参数。后一个构造函数允许用户复制一个Collection。

Collection常用的方法

增加:add(),addAll(Collection e) 删除:remove(),removeAll(),clear() 查找:Iterator iterator()获取迭代器用于遍历元素 判断功能:isEmpty,contains,containAll();

常用的集合操作

  • 创建集合对象
  • 创建元素对象
  • 添加元素
  • 遍历元素

Iterator迭代器(接口)

Iterator是获取集合中元素的过程,实际上帮助获得集合中的元素,用于遍历元素。

Iterator常用的方法:

hasNext()当前游标位置后面没有元素 next()返回元素值,并且将游标向前移动 remove(Object obj)移动指定元素

总结

Java的集合框架为小伙伴们总结到这里,后面再总结集合框架中的List、Set、Map。