集合框架图简介

Java集合框架图析(Collection-List) Java集合框架图析 ##前言 Java 集合,也称作容器,主要是由两大接口 (Interface) 派生出来的:Collection 和 Map,顾名思义,容器就是用来存放数据的。那么这两大接口的不同之处在于: Collection 存放单一元素; Map 存放 key-value 键值对。 集合框架 Java集合里使用接口来定义功能,是一套完善的继承体系。Iterator是所有集合的总接口,其他所有接口都继承于它,该接口定义了集合的遍历操作,Collection接口继承于Iterator,是集合 阅读详情

在这里插入图片描述

Collection

Collection是一个接口,它的存储形式以单一值存储 ,list(表) 和 set(集合) 和Queue(队列)实现了Collection接口。

list

list可以重复存储 , 可以插入多个null值, 是一个有序容器,可以保持每个元素的插入顺序。 它的实现类有 ArrayList(底层数据结构是数组)
,LinkedList(底层数据结构是链表) 和Vector。 只需要访问的话用ArrayList, 他的底层数据结构是数组,可以通过下标来直接获取元素;删除或者添加元素时用LinkedList,它直接删除某节点,不用对整体进行移动操作。

set

set:它不能重复存储, 只允许插入一个null值, 是一个无序容器。 set接口的实现类有HashSet ,LinkedHashSet 和TreeSet。

Queue

Queue是队列,涉及到优先级队列,大根堆和小根堆。

HashSet

HashSet基于HashMap实现,不能保证数据有序 ; (应用场景:数据去重,数据无重复存储)

LinkedHashSet

LinkedHashSet 可以保证数据有序; (应用场景:数据去重,需按顺序访问的时候)

TreeSet

TreeSet底层封装的是TreeMap,另外还实现了SortedSet接口,因此TreeSet是根据其compare()和compareTo()的定义进行排序的有序容器。(应用场景:数据去重,需要排序的情况下)

Iterator

Iterator是所有集合共有的迭代器(提供一种方法,来访问集合(容器),对集合进行遍历来达到对集合的便利访问与集合底层数据结构进行解耦)。

LinkIterator

LinkIterator是list特有的迭代器,他可以实现双向遍历,他还提供了Set方法

Map

Map是一个接口,他的存储方式是以Key-Value键值对形式存储
Map接口的实现类有HashMap,LinkedHashMap,HashTable ,和TreeMap

HashMap

HashMap底层数据结构是数组加链表 ,以key-value键值对存储,key和value都可以为null, 它的线程不安全

LinkedHashMap

LinkedHashMap继承HashMap ,和HashMap特点类似 ,但他是一个双向链表,特殊的(boolean)accessOlder属性使它可以实现插入有序和访问有序,线程不安全

HashTable

HashTable继承AbstractMap, key和value都不能为null, 线程安全(因为有关键字sychronized修饰 ), 可以通过Enumeration进行遍历。

WeakHashMap

WeakHashMapMap的一个特殊实现(只要体现的是Java的四中引用:强引用,软引用,弱引用,虚引用),他自定义了一个queue的属性(用来存储被GC回收的键值对),当他的外部不再被引用时,垃圾回收器会将他回收;

TreeMap

TreeMap基于红黑树。
红黑树特点:
1.每个节点都只能是红色或黑色
2.根节点是黑色
3.每个叶节点是黑色的
4.如果一个节点是红的,则他两个子节点都是黑的。
也就是说在一条路径上不能出现相邻的两个红色节点。
5.从任一节点到每个叶子的所有路径都包含相同数目的黑色节点。

identityHashmap

identityHashmap允许key值重复,但必须是两个不同的对象。 (比较key的方法: identityHashMap应用 k1==k2 方法比较, 而不是像HashMap中的比较用k1.equals(k2)方法)

TreeSet

TreeSet通过Comparator或 Comparable 维护了一个排序顺序。

Collections

Collections是集合类的一个工具类/帮助类,它包含各种有关集合操作的静态多态方法,用于对集合中元素进行排序,搜索以及线程安全的操作。

Arrays

Arrays提供一些方法来操作数组(Arrays.CopyOf)。

LinkedHashMap介绍(特点,优势,和其他比较)
HashMap介绍
HashMap和HashTable的异同点

一文详解心电图(ECG)监测原理 介绍心电图的监测原理,从心电信号产生、获取到心电图的基本组成 阅读详情

相关推荐

CAN收发器选型避坑指南:TJA1051T与TJA1051T/3的硬件兼容性问题实录

本文详细解析了CAN收发器TJA1051T与TJA1051T/3的硬件兼容性问题,通过实测数据和故障案例揭示了VIO引脚的关键差异及其对系统的影响。提供从选型到验证的完整防坑方案,帮助开发者避免常见设计错误,确保CAN总线通信的稳定性。

weixin_42715608的博客 459

java集合框架综述

一、集合框架图 简化图: 说明:对于以上的框架图有如下几点说明 1.所有集合类都位于java.util包下。Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。2. 集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础。3. 抽象类:5个抽象类(长虚线表示)...

weixin_34380948的博客 1830

智能车小白也能懂:手把手教你用LM358和工字电感搭建电磁循迹模块(附PCB设计避坑)

本文详细介绍了如何利用LM358运放和工字电感搭建智能车电磁循迹模块,从电感选型、电路设计到PCB布局和焊接调试,提供全流程实战指南。特别针对新手常见问题,如信号干扰、电路饱和等,给出具体解决方案和参数配置,帮助智能车比赛爱好者快速掌握电磁循迹技术。

weixin_30307921的博客 403

Java基础(十五)集合框架

一方面,面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储。另一方面,使用数组存储对象方面具有一些弊端,而Java 集合就像一种容器,可以动态地把多个对象的引用放入容器中。数组在内存存储方面的特点数组初始化以后,长度就确定了。数组中的添加的元素是依次紧密排列的,有序的,可以重复的。数组声明的类型,就决定了进行元素初始化时的类型。不是此类型的变量,就不能添加。可以存储基本数据类型值,也可以存储引用数据类型的变量数组在存储数据方面的弊端。

zhufei463738313的博客 1900

告别混乱!AutoSar BswM模式管理实战:手把手教你配置Rule与ActionList(附避坑指南)

本文详细解析了AutoSar BswM模式管理的实战配置,重点介绍了Rule与ActionList的高效组合方法,帮助开发者避免常见陷阱。通过具体案例演示了从基础到复杂的配置步骤,包括模式仲裁、逻辑表达式构建及ActionList优化策略,提升汽车电子系统的协调性与可靠性。

weixin_27066963的博客 260

达梦数据库JDBC连接池断开自动重连设置

一、场景 在网络状况不是非常良好,经常会出现暂时性的拥塞或者断开的情况,而且当我们重启数据库时也会发生类似的情况。所以需要配置中间件的连接池来实现连接测试以及自动重连,通过重新配置连接池,成功解决了这个问题。下面会给出一份数据源配置参数详单和一份推荐的数据源配置项。 二、连接池配置参数 1. initialSize:连接池启动时创建的初始化连接数量 2. maxActive:连接池中可同时连接的最大的连接数 3. maxIdle:连接池中最大的空闲的连接数,超过的空闲连接将被释放,如果设置为负

lilv1989的博客 7237

Java笔记-集合框架

Java集合结构

虽然但是 945

Android车载多屏开发实战:从零搭建同显/异显Demo(附源码)

本文详细介绍了Android车载多屏开发的实战经验,从零搭建同显/异显Demo,涵盖多屏模拟、核心API调用、同显/异显架构实现及性能优化等关键环节。通过C++构建完整开发链路,帮助开发者快速掌握多屏同显和多屏异显技术,提升智能座舱系统的交互体验。附源码供参考。

weixin_29233857的博客 405

Java-集合(1)

在前面的学习中,保存多个数据,用的是数组。但是数组有很多不同的地方:1.长度开始时必须指定,且一旦指定无法更改2.保存的必须为同一类型元素,虽说可以多态保存,但是限制性也很大3.使用数组进行增加删除元素 比较麻烦所以就产生了集合类这个概念所谓集合:简单来讲,集合就是一个放数据的容器,准确的说是放数据对象引用的容器。可以理解为另一种类似数组的东西,也是用于存放数据的。但是比数组方便。集合就是由若干个确定的元素所构成的整体,集合是存储对象的容器,可以存储、的对象。

WINorYU的博客 1061

FLUKA软件在Ubuntu的安装指南(亲测有效)

FLUKA其强大的蒙特卡洛模拟能力使得用户能够模拟复杂的辐射相互作用过程

chencheng1127的博客 2887

Cesium 实战 04 - 标绘功能系列之画点(draw point)

Cesium 实战 - 标绘功能之画点(draw point)。

非科班Java出身GISer的博客 1085

【Java】集合框架,集合类+工具类

【Java】集合框架,四大集合类+一个工具类,超详细!

m0_60631827的博客 2777

双重分组进位跳跃进位链

跳跃进位链

qq_62260432的博客 941

Java基础(五):集合详解

集合 1、集合框架 1.1 、集合的简介 通常,我们的程序需要根据程序运行时才知道创建多少个对象。但若非程序运行,程序开发阶段,我们根本不知道到底需要多少个数量的对象,甚至不知道它的准确类型。为了满足这些常规的编程需要,我们要求能在任何时候,任何地点创建任意数量的对象,而这些对象用什么来容纳呢?我们首先想到了数组,但是数组只能放统一类型的数据,而且其长度是固定的,那怎么办呢?集合便应运而生了...

luoxiaojuan2的专栏 495

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

集合框架图整理

虚线框--接口类 实线框--实现类 如上框架图只涉及常用的几个集合类,如有错误,还望指正!

ACGkaka的博客 967

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

java集合框架图

集合框架图 ]

qq_35153847的博客 322

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

scala集合框架图

美图欣赏: 一.scala集合 所有的集合类都在包中发现scala.collection或它的子包中的一个mutable,immutable和generic 在三个变种通过客户端代码存在所需的大多数集合类,分别位于包分别。 scala.collection, scala.collection.immutable和scala.collection.mutable 每个变体在可变性方面都有不...

知其然,知其所以然 1388

Java集合框架图

笔者曾经一度困扰于Java集合框架错综复杂,网上大佬的框架图又极其晦涩。于是笔者结合自身学习感悟,作为一个Java数据结构的初学者整理了一份简化的框架图。抓取重点的接口和实现类,希望能帮助到有同样困扰的朋友。

2302_80657849的博客 306

java集合框架图和IO流知识图

java集合框架图 java IO流

大鹏_James的专栏 1717

Java常用集合框架图

Java常用集合框架图

剑无道 589

[JAVA]我的简易collection集合框架图

一份Java集合框架图

qq_1593724363的博客 243

集合框架图(缩减版)

集合框架图

qq_44064975的博客 137
下一篇: HashMap和HashTable的异同点
Java-fly
博客等级 码龄9年 13粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值