Java集合框架的概念以及常用接口的介绍
导读:为了解决数组长度固定不变无法适应变化情况,无法获取对象真实的储存个数,查找效率低下等问题,Java集合框架为我们开发了一套性能优良,使用方便的接口和类,用来保存数据和进行各种数据操作,位于java.util包中。集合框架包含三大块内容:对外的接口,接口的实现,和对集合运算的算法。
Java集合框架简图
特征:
*List,Set,Map将持有对象一律视为Object型别。
*Collection、List、Set、Map都是接口,不能实例化,例如:List li=null ,会报空指针异常。
继承自它们的 ArrayList, Vector, HashTable, HashMap是具象class,这些才可被实例化。
List接口
List接口通常表示一个列表(数组、队列、链表、栈等),其中的元素有序、可以重复,常用实现类为ArrayList和LinkedList,另外还有不常用的Vector。另外,LinkedList还实现了Queue接口,因此也可以作为队列使用。List和数组类似,List可以动态增长,相当于动态数组,查找元素效率高,插入删除元素效率低,因为会引起其他元素位置改变。
Set接口
Set接口通常表示一个集合,其中的元素是有序的集合,不允许重复。Set以哈希表的形式存放元素,检索元素效率低下,删除和插入效率高,插入和删除不会引起元素位置改变。
Map接口
Map是一个映射接口,其中的每个元素都是一个key-value键值对。Map主要用于存储健值对,不要求有序,它是根据键得到值,因此不允许键重复,但允许值重复。
Iterator迭代器
Iterator是遍历集合的迭代器(不能遍历Map,只用来遍历Collection),Collection的实现类都实现了iterator()函数,它返回一个Iterator对象,用来遍历集合,ListIterator则专门用来遍历List。
工具类
Arrays和Collections是用来操作数组、集合的两个工具类,例如在ArrayList和Vector中大量调用了Arrays.Copyof()方法,而Collections中有很多静态方法可以返回各集合类的synchronized版本,即线程安全的版本,当然了,如果要用线程安全的结合类,首选Concurrent并发包下的对应的集合类。
泛型集合
例: Map<String, String> dog=new HashMap<String, String>();
List<Dog> dogs=new ArrayList<Dog>();
泛型集合用<>标记元素类型,在创建集合对象时强制指定了集合中元素的类型,在从集合中取出元素时无需进行类型强制转换,避免了ClassCastException异常,即类型转换异常。
Java集合框架的概念以及常用接口的介绍相关推荐
- Java 集合框架(5)---- Map 相关类解析(中)
本文标题大纲: 文章目录 前言 HashMap TreeMap 指定 TreeMap 的元素排序方式 前言 还是先上那张图吧,我又偷懒了,还是只关注 Map 接口下的类就行了: 在上上篇文章中我们一起 ...
- 【Java集合框架】ArrayList类方法简明解析(举例说明)
本文目录 1.API与Java集合框架 2.ArrayList类方法解析 2.1 add() 2.2 addAll() 2.3 clear() 2.4 clone() 2.5 contains() 2 ...
- java集合框架史上最详解(list set 以及map)
title: Java集合框架史上最详解(list set 以及map) tags: 集合框架 list set map 文章目录 一.集合框架总体架构 1.1 集合框架在被设计时需满足的目标 1.2 ...
- Java集合框架源码详解系列(一)
写在前面:大家好!我是晴空๓.如果博客中有不足或者的错误的地方欢迎在评论区或者私信我指正,感谢大家的不吝赐教.我的唯一博客更新地址是:https://ac-fun.blog.csdn.net/.非常 ...
- java集合框架优点
java集合框架优点 1,java集合框架,提供了多种集合类型,以及高性能/高质量的数据结构实现 2,集合之间可以方便的实现相互转换 3,各种类型的集合接口与具体实现分离 4,使开发者将时间精 ...
- Java集合框架之四大接口、常用实现类,java基础面试笔试题
我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...
- Java集合框架中Map接口的使用
在我们常用的Java集合框架接口中,除了前面说过的Collection接口以及他的根接口List接口和Set接口的使用,Map接口也是一个经常使用的接口,和Collection接口不同,Map接口并不 ...
- Java集合查找Map,Java集合框架中Map接口的使用
在我们常用的Java集合框架接口中,除了前面说过的Collection接口以及他的根接口List接口和Set接口的使用,Map接口也是一个经常使用的接口,和Collection接口不同,Map接口并不 ...
- 一文掌握常见常用Java集合框架
掌握常见常用Java集合框架 说到集合框架,下面这张图一定经常会看见 初看这副图,你可能会觉得眼花缭乱,问题不大,本文这就带你去了解这副图. 1.整体感知 从图中可以看出,集合框架主要分为两个类型,C ...
- java集合框架的接口_Java集合框架之Collection接口详解
Java是一门面向对象的语言,那么我们写程序的时候最经常操作的便是对象了,为此,Java提供了一些专门用来处理对象的类库,这些类库的集合我们称之为集合框架.Java集合工具包位于Java.util包下 ...
最新文章
- 给妹子讲python-S01E18初探函数作用域
- Javascript实现边框闪动
- Linux中的selinux
- 剑指Offer - 面试题26. 树的子结构(双重递归)
- 发明喂饭机器人_人类又懒出新高度,老美发明自动喂饭机器人,“君子”动嘴不动手...
- 怎样考计算机教师资格证书,非师专生怎么考取计算机教师资格证书?
- [Java] 蓝桥杯ALGO-119 算法训练 寂寞的数
- 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第4节 方法引用_2_方法引用_通过对象名引用成员方法...
- mybatis编写一个查询数据库表的程序
- cognos数据源的配置
- Minidump文件分析
- windows存储空间清理,C盘空间清理教程,磁盘清理方法
- Scrapy: 爬虫返回403错误
- iOS---iPhoneXs iPhoneXs Max iPhoneXr
- 苹果手机声音突然变小是怎么回事_苹果手机听筒声音小怎么回事?
- arch linux u盘安装,如何把ArchLinux安装到U盘上
- StringTemplate模板引擎
- 九龙证券|服务器龙头获资金连续抢筹,尾盘主力抢筹前期大热门股
- MATLAB中实现图像的空间域滤波和频率域滤波
- 基于机器学习的锂离子电池健康状态预测:进展与展望
热门文章
- css3中旋转坐标轴的问题
- sql中in与=的异同
- learning docker steps(3) ----- docker services 初次体验
- [BZOJ2118] 墨墨的等式(最短路)
- 20155313 2016-2017-2 《Java程序设计》第十周学习总结
- 浅谈压缩感知(二十二):压缩感知重构算法之正则化正交匹配追踪(ROMP)
- 堆栈和内存分配[转]
- Visual Studio附加调试进程时找不到
- Asp.Net异步加载
- 数据库增删改查工具类 以及C3P0开源的JDBC连接池操作