先来看看集合的继承关系图,如下图所示:

其中:

  • 外框为虚线的表示接口,边框为实线的表示类;
  • 箭头为虚线的表示实现了接口,箭头为实线的表示继承了类。

为了方便理解,我隐藏了一些与本文内容无关的信息,隐藏的这些内容会在后面的章节中进行详细地介绍。

从图中可以看出,集合的根节点是 Collection,而 Collection 下又提供了两大常用集合,分别是:

  • List:使用最多的有序集合,提供方便的新增、修改、删除的操作;
  • Set:集合不允许有重复的元素,在许多需要保证元素唯一性的场景中使用。

下面我们分别对集合类进行详细地介绍。

集合使用

1)Vector

Vector 是 Java 早期提供的线程安全的有序集合,如果不需要线程安全,不建议使用此集合,毕竟同步是有线程开销的。

使用示例代码:

Vector vector = new Vector();
vector.add("dog");
vector.add("cat");
vector.remove("cat");
System.out.println(vector);

程序执行结果:[dog]

2)ArrayList

Arr

第 3-1 课:集合详解(上) + 面试题相关推荐

  1. Java集合详解之Map

    一.首先看看集合框架体系图 从图中可以看到,Map接口扩展了Iterator接口,关于Iterator接口详解请移步:Iterator接口详解 二.Map是什么? Map<k,v>使用键值 ...

  2. java list取值_Java集合详解

    一.集合的由来 通常,我们的程序需要根据程序运行时才知道创建多少个对象.但若非程序运行,程序开发阶段,我们根本不知道到底需要多少个数量的对象,甚至不知道它的准确类型.为了满足这些常规的编程需要,我们要 ...

  3. 集合 (二) ----- Map集合详解

    相关文章: <集合 (一) ----- 集合的基本概念与Collection集合详解> <集合 (二) ----- Map集合详解> 文章目录 Map集合详解 一.Map集合基 ...

  4. Java集合详解6:TreeMap和红黑树

    <Java集合详解系列>是我在完成夯实Java基础篇的系列博客后准备开始写的新系列. 这些文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查 ...

  5. 【Java-Java集合】Java集合详解与区别

    [Java-Java集合]Java集合详解与区别 1)概述 2)集合框架图 2.1.总框架图 2.2.Iterable 框架图 2.3.Map 框架图 3)List 3.1.ArrayList 类继承 ...

  6. Java集合详解4:HashMap和HashTable

    <Java集合详解系列>是我在完成夯实Java基础篇的系列博客后准备开始写的新系列. 这些文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查 ...

  7. Kotlin 基础——Map集合详解

    Kotlin基础--Map集合详解 一.声明和创建Map集合 二.使用Map的方法 三.遍历Map四种方式 四.可变的Map Kotlin的Map集合用于保存key-value对,其也被分为可变的和不 ...

  8. Java集合详解5:深入理解LinkedHashMap和LRU缓存

    <Java集合详解系列>是我在完成夯实Java基础篇的系列博客后准备开始写的新系列. 这些文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查 ...

  9. 【Python】set集合详解

    set集合详解 概述 创建 set集合(2种) 1) 使用 {} 创建 2) set()函数创建集合 访问set集合元素 删除set集合 set集合中添加元素 set集合中删除元素 set集合做交集. ...

  10. 21年最新Python面试题及答案汇总详解(上)

    错过三月找工作的机会,还要错过四月的好时期吗?Python面试你做准备了吗?下面小编整理了一套2021年最新Python常见面试题目,及Python面试题目答案汇总.希望能够帮助到大家. 21年最新P ...

最新文章

  1. 通风与防排烟工程电子书_菠菜关于防排烟系统使用软接头工程量计算注意及定额选用建议...
  2. 电视机检测大巴徘徊在英格兰的大街上
  3. [推荐]数据库索引碎片的自动重建或重组
  4. python简单代码画图-Python科学画图代码分享
  5. Codeforces 1093C (思维+贪心)
  6. 创建型模式——抽象工厂模式
  7. mysql 5.6安装图解 linux_Windows下MySQL 5.6安装及配置详细图解
  8. 写论文时优雅的在word中添加程序代码
  9. Maven最全使用指南,都在这里了
  10. BGA返修台使用说明
  11. 2020哔哩哔哩校招后端开发笔试编程题总结
  12. 如何快速的自建 DoH ( DNS over HTTPS) 服务
  13. 全面了解ScriptManager
  14. Navicat使用方法
  15. ip helper-address原理
  16. 旋转行求解联立方程(针对特殊情况).(python,数值分析)
  17. Alpha系列——从MPT到APT
  18. win10系统休眠文件删除
  19. android heic图片,如何在安卓上查看HEIC图片的内容?
  20. C语言:分别用while语句、do while语句和for语句求自然对数e的近似值

热门文章

  1. 微型计算机硬盘为什么要分区,为什么懂电脑的人,都说硬盘不需要分区?看完你就知道了...
  2. mysql如何下载msi_2、Windows下MySQL数据库下载与安装详细教程 MSI方式
  3. python mockito arg_that_wqingxiao
  4. NameError: name 'long' is not defined
  5. oracle 中DATETIME与TIMESTAMP区别
  6. Nexus搭建Maven私有仓库
  7. linux下nmap工具的使用
  8. vue-router之路由钩子(八)
  9. linux外接显示屏,关掉本身的笔记本电脑
  10. matlab2016b ubuntu命令行安装 + matconvnet的安装