什么是java集合框架

其实就是java类库提供的一套相当完整的各种数据结构的实现。通常也可以叫做“容器”。比如List、Set、Queue和Map。

使用类型安全的容器

通过使用泛型,即给容器添加类型参数,可以在编译期防止将错误类型的对象放置到容器中。例如:
可以声明一个

ArrayList<Person> list = new ArrayList<Person>();
list.add(new Person());
list.add(new Dog())

此时,编译器可以阻止将Dog对象加入到该容器中。同时,在从容器中取出时,也不用做强制类型转换了。

集合框架简图


其中点线框表示接口,实线框表示具体的实现类。空心箭头代表实现或是继承关系。实心箭头表示某个类可以生成箭头所指向的类的对象。

集合类库主要接口简述

  1. Collection
    是一个根接口,是对各种集合类的一种抽象。大部分数据结构都实现了 Collection 接口中的方法。

  2. Map
    存储“键值对”的集合。可以通过键来查找值。最常用的比如HashMap。

  3. List
    允许存储重复的元素,在Collection的基础上增加了大量的方法,可以在中间插入和删除元素等。一般来说是有序的(元素添加的顺序)。

  4. Set
    不允许有重复的元素。Set具有和Collection完全一样的接口,因此没有额外的功能。其实Set集合的一般实现类也是有序。比如HashSet是按散列函数来维护自身有序性。TreeSet和LinkedHashSet分别使用了红黑树和链表来维护元素的插入顺序

  5. Iterator
    迭代器是一个对象,主要的工作是遍历并选择序列中的对象,而不用关心该序列底层的结构。创建它的代价很小。
    因此使用迭代器来遍历获取集合元素是一种不错的选择。

Collection接口方法概览


其中,有几个比较常用的方法,比如

  • 方法add()添加一个元素到集合中
  • addAll()将指定集合中的所有元素添加到集合中
  • contains()方法检测集合中是否包含指定的元素
  • toArray()方法返回一个表示集合的数组。
  • 另外,Collection中有一个iterator()函数,它的作用是返回一个Iterator接口。

JAVA集合框架(一)-综述的更多相关文章

  1. Java 集合框架(一)—— 接口综述

    前言:凡是使用 Java 编程的,几乎肯定会用到集合框架,比如 ArrayList.LinkedList.HashSet.HashMap 等,集合框架的代码绝对是大师级的实现,所以为了更好地使用集合框 ...

  2. 【集合框架】Java集合框架综述

    一.前言 现笔者打算做关于Java集合框架的教程,具体是打算分析Java源码,因为平时在写程序的过程中用Java集合特别频繁,但是对于里面一些具体的原理还没有进行很好的梳理,所以拟从源码的角度去熟悉梳 ...

  3. java集合框架综述

    一.集合框架图 简化图: 说明:对于以上的框架图有如下几点说明 1.所有集合类都位于java.util包下.Java的集合类主要由两个接口派生而出:Collection和Map,Collection和 ...

  4. (二)java集合框架综述

    一集合框架图 说明:对于以上的框架图有如下几点说明 1.所有集合类都位于java.util包下.Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Ja ...

  5. Java 集合框架综述,这篇让你吃透!

    一.集合框架图 简化图: 说明:对于以上的框架图有如下几点说明 1.所有集合类都位于java.util包下.Java的集合类主要由两个接口派生而出:Collection和Map,Collection和 ...

  6. Java集合框架的总结

    本篇文章先从整体介绍了Java集合框架包含的接口和类,然后总结了集合框架中的一些基本知识和关键点,并结合实例进行简单分析.当我们把一个对象放入集合中后,系统会把所有集合元素都当成Object类的实例进 ...

  7. java集合框架之java HashMap代码解析

     java集合框架之java HashMap代码解析 文章Java集合框架综述后,具体集合类的代码,首先以既熟悉又陌生的HashMap开始. 源自http://www.codeceo.com/arti ...

  8. java集合框架1

    1.综述 所有集合类都位于java.util包下.集合中只能保存对象(保存对象的引用变量).(数组既可以保存基本类型的数据也可以保存对象). 当我们把一个对象放入集合中后,系统会把所有集合元素都当成O ...

  9. Java集合框架的知识总结(1)

    说明:先从整体介绍了Java集合框架包含的接口和类,然后总结了集合框架中的一些基本知识和关键点,并结合实例进行简单分析. 1.综述 所有集合类都位于java.util包下.集合中只能保存对象(保存对象 ...

随机推荐

  1. centos7制作U盘启动盘

    一.准备相关软件 1.8G以上U盘 2.UltraISO虚拟光驱(试用版即可)最新版 下载地址:https://cn.ultraiso.net/xiazai.html  点击下载试用 3.CentOS ...

  2. 在 ASP.NET Core 中使用 Serilog 进行日志记录

    目录 从 NuGet 安装 Serilog 在 Main函数 中配置 Serilog 在项目中使用 Serilog 进行日志输出 从 NuGet 安装 Serilog 核心的包是 Serilog 和 ...

  3. Go 面试每天一篇(第 65 天)

    Go 面试每天一篇(第 65 天) 1.下面列举的是 recover() 的几种调用方式,哪些是正确的? A. 1func main() { 2 recover() 3 panic(1) 4} B. ...

  4. Delphi解析修改Json文件,基于superobject.pas(ISuperObject)

    在经过一系列的波折后,还是觉得delphi读取并修改json文件来的方便: 在网络上找到一个delphi的三方库ISuperObject,添加到项目后直接引用就行: 下载地址 ISuperObject ...

  5. Java 商户管理系统 客户管理 库存管理 销售报表 SSM项目源码

    系统介绍: 1.系统采用主流的 SSM 框架 jsp JSTL bootstrap html5 (PC浏览器使用) 2.springmvc +spring4.3.7+ mybaits3.3  SSM ...

  6. 百度大脑IOCR财会票据识别技术接入小程序,快速实现财会票据识别

    本文主要介绍iOCR财会票据识别的小程序功能实现. 想了解微信小程序的开发过程,请参看我之前的帖子:<UNIT接入小程序>https://ai.baidu.com/forum/topic/ ...

  7. Sqlite—锁机制

    https://blog.csdn.net/zhangsheng_1992/article/details/52598396 https://blog.csdn.net/xiyangyang8110/ ...

  8. 在IIS中部署.net core应用

    在IIS中部署 .NET Core应用 对于熟悉IIS的程序员来说,将 .NET Core Web应用部署在IIS中,无疑是方便统一管理的事情.网上给出很多如何在IIS中部署 .NET Core 应用 ...

  9. vscode 设置免密远程

    第一步: 生成秘钥 ssh-keygen -t rsa 生成 id_rsa id_rsa.pub cat id_rsa.pub >>  authorized_keys 将私钥文件id_rs ...

  10. VMware Workstation15激活码

    VG5HH-D6E04-0889Y-QXZET-QGUC8 亲测可用