导读:为了解决数组长度固定不变无法适应变化情况,无法获取对象真实的储存个数,查找效率低下等问题,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集合框架的概念以及常用接口的介绍相关推荐

  1. Java 集合框架(5)---- Map 相关类解析(中)

    本文标题大纲: 文章目录 前言 HashMap TreeMap 指定 TreeMap 的元素排序方式 前言 还是先上那张图吧,我又偷懒了,还是只关注 Map 接口下的类就行了: 在上上篇文章中我们一起 ...

  2. 【Java集合框架】ArrayList类方法简明解析(举例说明)

    本文目录 1.API与Java集合框架 2.ArrayList类方法解析 2.1 add() 2.2 addAll() 2.3 clear() 2.4 clone() 2.5 contains() 2 ...

  3. java集合框架史上最详解(list set 以及map)

    title: Java集合框架史上最详解(list set 以及map) tags: 集合框架 list set map 文章目录 一.集合框架总体架构 1.1 集合框架在被设计时需满足的目标 1.2 ...

  4. Java集合框架源码详解系列(一)

     写在前面:大家好!我是晴空๓.如果博客中有不足或者的错误的地方欢迎在评论区或者私信我指正,感谢大家的不吝赐教.我的唯一博客更新地址是:https://ac-fun.blog.csdn.net/.非常 ...

  5. java集合框架优点

    java集合框架优点  1,java集合框架,提供了多种集合类型,以及高性能/高质量的数据结构实现  2,集合之间可以方便的实现相互转换  3,各种类型的集合接口与具体实现分离  4,使开发者将时间精 ...

  6. Java集合框架之四大接口、常用实现类,java基础面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

  7. Java集合框架中Map接口的使用

    在我们常用的Java集合框架接口中,除了前面说过的Collection接口以及他的根接口List接口和Set接口的使用,Map接口也是一个经常使用的接口,和Collection接口不同,Map接口并不 ...

  8. Java集合查找Map,Java集合框架中Map接口的使用

    在我们常用的Java集合框架接口中,除了前面说过的Collection接口以及他的根接口List接口和Set接口的使用,Map接口也是一个经常使用的接口,和Collection接口不同,Map接口并不 ...

  9. 一文掌握常见常用Java集合框架

    掌握常见常用Java集合框架 说到集合框架,下面这张图一定经常会看见 初看这副图,你可能会觉得眼花缭乱,问题不大,本文这就带你去了解这副图. 1.整体感知 从图中可以看出,集合框架主要分为两个类型,C ...

  10. java集合框架的接口_Java集合框架之Collection接口详解

    Java是一门面向对象的语言,那么我们写程序的时候最经常操作的便是对象了,为此,Java提供了一些专门用来处理对象的类库,这些类库的集合我们称之为集合框架.Java集合工具包位于Java.util包下 ...

最新文章

  1. 给妹子讲python-S01E18初探函数作用域
  2. Javascript实现边框闪动
  3. Linux中的selinux
  4. 剑指Offer - 面试题26. 树的子结构(双重递归)
  5. 发明喂饭机器人_人类又懒出新高度,老美发明自动喂饭机器人,“君子”动嘴不动手...
  6. 怎样考计算机教师资格证书,非师专生怎么考取计算机教师资格证书?
  7. [Java] 蓝桥杯ALGO-119 算法训练 寂寞的数
  8. 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第4节 方法引用_2_方法引用_通过对象名引用成员方法...
  9. mybatis编写一个查询数据库表的程序
  10. cognos数据源的配置
  11. Minidump文件分析
  12. windows存储空间清理,C盘空间清理教程,磁盘清理方法
  13. Scrapy: 爬虫返回403错误
  14. iOS---iPhoneXs iPhoneXs Max iPhoneXr
  15. 苹果手机声音突然变小是怎么回事_苹果手机听筒声音小怎么回事?
  16. arch linux u盘安装,如何把ArchLinux安装到U盘上
  17. StringTemplate模板引擎
  18. 九龙证券|服务器龙头获资金连续抢筹,尾盘主力抢筹前期大热门股
  19. MATLAB中实现图像的空间域滤波和频率域滤波
  20. 基于机器学习的锂离子电池健康状态预测:进展与展望

热门文章

  1. css3中旋转坐标轴的问题
  2. sql中in与=的异同
  3. learning docker steps(3) ----- docker services 初次体验
  4. [BZOJ2118] 墨墨的等式(最短路)
  5. 20155313 2016-2017-2 《Java程序设计》第十周学习总结
  6. 浅谈压缩感知(二十二):压缩感知重构算法之正则化正交匹配追踪(ROMP)
  7. 堆栈和内存分配[转]
  8. Visual Studio附加调试进程时找不到
  9. Asp.Net异步加载
  10. 数据库增删改查工具类 以及C3P0开源的JDBC连接池操作