栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

分分钟带你解决数据结构问题-----集合框架及其背后的数据结构

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

分分钟带你解决数据结构问题-----集合框架及其背后的数据结构

声明:博主gitee博主的学习笔记分享

文章前言:

本博客讨论的内容是集合框架,在谈集合框架之前,我们先明确一个点,就是数据结构是什么 ?

数据结构:顾名思义是组织和描述数据的形式,其中包含:顺序表,链表,栈和队列,图,树……
那么集合框架就是 Java 写好的一些数据结构,像是顺序表,链表,栈和队列……这些数据结构不需要我们去手动的进行实现,我们要做的就是去了解一下每个集合框架背后的数据结构

那么为什么有称之为框架呢?

因为他们其中存在层次,每一个集合都是有一定关系一定关联的,是一个大的框架

Java 官方教程对集合框架的解释:集合框架

下面正式开启集合框架的讲解:


文章目录

一、集合框架概述
二、Collection接口的使用
三、Map接口的使用


一、集合框架概述

①.Java 集合框架被称为:

Java Collection framework

又被称为:

容器 container

②.是被定义在 java.util 包下的一组接口 interfaces 和其实现类 classes

所以每次涉及到集合框架都要导入 java.util 这个包

③.其主要表现为将多个元素 element 置于一个单元中

用于对这些元素进行快速、便捷的存储 store 、检索retrieve 、管理 manipulate ,即平时我们俗称的增删查改 CRUD

④.重点看这样一张图,这里并没有列举出所有的接口和类,只分拣出重要的,我们来一步一步进行分析








二、Collection接口的使用

声明:调用 Collection接口中的方法实现很简单,只挑几个做例子


注意:

由于 Collection 为接口,所以其不能实例化对象,所以这里引用一个具体的实现类,我这里引用的是 ArrayList,引用其他的类都是可以的


①、功能一:将元素添加到集合中


为了避免元素类型的混乱,我们引入泛型的知识

②、功能二:打印添加到集合后的内容


③、功能三:清空集合元素

④、功能四:判断集合是否为空

⑤、将集合转变为数组

这里的返回值是 Object[] 类型

注意点:

由于对于 JVM 对数组的特殊处理,如果在返回值是 Object[] 时使用强制类型转化,会导致程序在运行时报错,这里需要对 JVM 深入理解,这里暂时认为强制类型转化无法把所有 Object[] 类型的数组元素都转换为其他类型的数组元素,导致程序在运行时报错

正确代码:

Object[] oj = collection.toArray();
System.out.println(Arrays.toString(oj));

错误对 object[] 数组强转的代码:

Integer[] oj = (Integer[]) collection.toArray();
System.out.println(Arrays.toString(oj));

程序在运行时报错:

⑥. 计算集合中元素的个数

⑦、移除指定元素


三、Map接口的使用 ①、将指定的 k-v 放入 Map,并按照 K 值去查找 V



当查找的 K 不存在返回 null
使用另外一种 get 方法在查找失败时返回自定义的查找失败内容

②、查找是否包含 Key 或者 Value

③、entrySet 用法


刚刚一直使用的 Hashmap 那么 Treemap 又是怎样的呢 ?

记住 Treemap 是有序的即可,这是它和 Hashmap 的区别

我们看他们的底层:

Treemap:

Hashmap 不存在比较器

简略表格:


本文章结束!!!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/692886.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号