Java学习——集合框架
来源:互联网 发布:怎么申请做淘宝客服 编辑:程序博客网 时间:2024/06/05 01:39
集合框架的概述
集合框架是Java的容器类,专门用来装载对象,基本数据类型会转变为包装类。
集合框架的作用
- 在类的内部,对数据进行组织;
- 简单而快速的搜索大量的条目;
- 有的集合接口,提供一系列排序的元素,并且可以在序列中间快速的插入或者删除元素;
- 有的集合接口,提供映射关系,可以通过关键字(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。
- Java学习—集合框架
- Java基础学习——集合框架
- Java基础学习——集合框架
- Java学习——集合框架
- (36)Java学习笔记——集合框架 / Set集合
- (37)Java学习笔记——集合框架 / Map集合
- 学习java集合框架
- Java学习---集合框架
- Java 集合框架学习
- java学习--集合框架
- Java集合框架学习
- Java集合框架学习
- 学习java集合框架
- 【java学习】集合框架
- Java基础学习——Java集合框架
- java集合——集合框架
- Java学习笔记——JCF集合框架
- Java学习札记——集合框架一
- ADB常用命令
- 虚拟机中ubuntu不能联网问题的解决——NAT方式
- 格式化format()输出字符串
- Git入门
- Excel导出工具-POI
- Java学习——集合框架
- 习题8.3
- OBJECT_ID 有哪些种类
- CF546E Soldier and Traveling(最大流)
- 《C++ Primer》读书笔记第十三章-3-对象移动
- phpAjax
- 戏说系列-从术和道来看基于流量的架构设计(下)
- 爬去去哪儿门票,并且可视化分析价格和销量的关系
- 扬帆起航的新一天