java基础数据结构

数据结构与算法基础(java版) 前言 数据结构与算法是一门相对比较枯燥,但也是编程人员必学的课程。通过学习数据结构与算法,可以提高我们在编程中的思维逻辑;本人也是小白一枚,学习了一段时间后,在这边总结下;尽量以比较白话的方式,来进行更好的理解。 数据结构概述 数据结构可以简单的理解为数据与数据之间所存在的一些关系,数据的结构分为数据的存储结构和数据的逻辑结构。 存储结构 ... 阅读详情

1.equals 和==

equals :底层实现也是调用的==,如果想要只比较字面量就要重写equals方法,重写equals方法必须重写hashcode(),Java规范要求重写equal()必须重写hashCode(),如果不重写hashCode,在集合类如:HashMap,HashSet中出现异常。如果该没有重写hashCode方法的对象做key的时候就取不到对应的值。

==      :引用数据类型:比较的是地址值。基本数据类型比较的是数值(不一定类型相同2.0==2)

String s1 = new String("zs");
String s2 = new String("zs");
System.out.println(s1 == s2);    //false  因为都是new的地址不一样
String s3 = "zs";
String s4 = "zs";
System.out.println(s3 == s4);    //true   都在常量池
System.out.println(s3 == s1);    //false  s3在常量池,s1在堆中
String s5 = "zszs";
String s6 = s3+s4;
System.out.println(s5 == s6);    //false  s6因为参与了运算相当于new了 在堆中  s5 在常量池
final String s7 = "zs";
final String s8 = "zs";
String s9 = s7+s8;               
System.out.println(s5 == s9);    //true  因为是final 就表示是常量,
final String s10 = s3+s4;
System.out.println(s5 == s10);   //false  只要有相加还是new了

2.String StringBuffer StringBuilder

             String是final类型的 每次声明都是不可变的对象

             StringBuffer,和StringBuilder是在原有的对象上进行操作

             StringBuffer 线程安全,StringBuilder线程不安全

3. 数组索引寻址公式

4.ArrayList底层实现:

5.数组和List转换

6.ArrayList和LinkedList区别

7.二叉搜索树

左子结点大于自己,右子节点小于自己。并且没有相等的值

为了避免出现只有一侧子节点退化为链表,引入了红黑树的概念。红黑树就是平衡二叉树

8.红黑树(平衡二叉搜索树)

9.散列表(哈希表)

10.HashMap实现原理

10.杂项

 

AI工程化之生成式UI & A2UI(二) 本文介绍了生成式UI框架A2UI的架构设计与核心实现。项目采用AI协作开发模式,通过ATDD(AI驱动的测试驱动开发)确保代码质量。前端SDK基于zustand实现框架无关的状态管理,包含协议解析器、存储管理、渲染器等核心模块。重点展示了基础store构建、A2UI协议解析器的实现过程,包括mock数据准备、测试用例生成和可视化调试。项目采用monorepo管理,利用vite实现高效开发构建。整个系统设计遵循模块化原则,通过清晰的接口定义实现各组件解耦,为后续功能扩展打下基础。 阅读详情

相关推荐

Aitoearn内容营销的最佳开源 AI 代理,创建 · 发布 · 互动 · 副业一站式平台,支持渠道:抖音、小红书(红点)、微信通道、快手、哔哩哔哩、微信公众号、抖音等等

Aitoearn内容营销的最佳开源 AI 代理,创建 · 发布 · 互动 · 副业一站式平台,支持渠道:抖音、小红书(红点)、微信通道、快手、哔哩哔哩、微信公众号、抖音等等

struggle2025的博客 1749

Java实现的数据结构基础

本文介绍了Java数据结构学习的预备知识,主要包括集合框架、算法效率分析和泛型等内容。集合框架是Java对数据结构的封装,包含List、Set、Map等接口及其实现类。算法效率分析重点讲解了时间复杂度和空间复杂度的大O表示法。泛型部分阐述了泛型类的定义和使用,包括类型擦除机制和泛型上界的概念。此外还介绍了包装类的装箱拆箱操作及其底层实现原理。这些知识为后续数据结构学习奠定了重要基础,帮助理解Java集合类的实现原理和使用方式。

Y409001的博客 990

ESP-SR实战:从零搭建智能语音唤醒与命令识别系统

本文详细介绍了如何利用乐鑫ESP-SR框架,从零开始搭建一个完整的离线智能语音交互系统。内容涵盖硬件选型(推荐ESP32-S3与数字麦克风)、开发环境配置(ESP-IDF与ESP-ADF),并深入解析了AFE声学前端、WakeNet唤醒词检测和MultiNet命令词识别三大核心模块的工作原理与实战配置。通过具体的代码示例和调试技巧,指导开发者快速实现高识别率的语音唤醒与命令控制功能。

weixin_29161785的博客 302

java 基础数据结构_Java实现的基础数据结构

Java实现的基础数据结构0,常用的基础数据结构图1 基础数据结构&相关特性图2 Java自带的类集框架&继承关系图1,数组【Array】特点:长度固定、查找方便【直接使用index查找即可】、增加、删除麻烦。图3 数组【查找直接使用index指针即可直接查询】图4 数组添加【需要重新创建新数组对象并产生垃圾空间】图5 数组删除【需要重新创建新数组并且产生垃圾空间】①创建实例化数组...

weixin_42133329的博客 228

无监督低照度增强实战:用ZeroDCE和SCI拯救你的夜间照片(附PyTorch代码)

本文深入探讨了无监督低照度图像增强技术,重点解析了ZeroDCE和SCI两大代表性模型的核心原理与实战应用。通过对比分析两者的技术路径、网络结构及性能特点,并附上详细的PyTorch代码实现,旨在帮助读者掌握无需配对数据即可有效提升夜间照片画质的深度学习解决方案。

git9versioner的博客 490

littlefs系列:wear leveling

wear leveling的功能是通过block alloctor实现的。littlefs通过两个方法实现磨损均衡: 1) 检测和恢复bad blocks 2)通过dynamic blocks均衡磨损 检测和恢复bad blocks和block alloctor的关系并不紧密,主要依靠文件系统本身来检测坏块并标记。在littlefs中,检测坏块主要是通过写后回读并比较的方式实现的,如果数据不一致则说明是一个坏块。一旦检测到了坏块就要进行恢复。 如果是写入错误,因为数据才RAM中还有备份,因此需.

nstcl的博客 2569

Java笔记——基础概念和数据结构

类常用于定义对象的属性和方法,可以看作是创建对象的模板。一个类的实例,根据类的属性和方法产生状态和行为,通过类创建对象的过程被叫做实例化。一个类可以继承另一个类的属性和方法。一种将抽象函数式接口的实现细节部分包装、隐藏起来的方法,防止该类的代码和数据被外部类定义的代码随机访问,如下将对象的状态(字段)私有化,通过公共方法访问。

weixin_57577913的博客 260

1-Wire 单总线硬件结构及软件时序分析(实测波形+C代码分析)

1根线就可以通信,是不是很神奇?因为其节省I/O口的优点而被广泛使用!

记得诚 1万+

java基础数据结构分析

最近在梳理一些关于java的概念,这篇文章是最近笔记中关于基础数据结构的部分,因为记录笔记的时候思路比较天马行空,所以不知道这篇文章的思路能不能清晰,姑且总结下将要涉及到的方面(jdk1.8)(另外毕竟是自己的理解,如果能指出错误,不胜感激): 基础数据结构继承关系图 相关接口的一些解读 iterable和iterator的异同 map接口中值的注意的地方 col

javasvip的博客 462

深度强化Q学习-基于微软AirSim仿真环境的自动驾驶案例(原理代码详解简易可行)

最近在学习《强化学习原理与Python实现》,肖智清著。参考第十二章的自动驾驶案例,写一篇总结,尽量做到简单可行,让有志于自动驾驶的小伙伴可以通过此篇博客可以管中窥豹,初步了解自动驾驶的强化学习训练过程。 本篇将自动驾驶问题转化为回合制的强化学习任务,设计以车辆观察图像和运行状态为输入的自动驾驶算法,并在AirSim仿真环境中进行训练和测试。本篇使用带经验回放和目标网络的基于深度Q网络算法设计并实现智能体,对经验回放、目标网络和深度Q学习算法进行简单介绍,并用代码实现。

shao918516的博客 8599

电脑硬件:电脑主板上的接口介绍,看完你就懂了

它们主要用于连接老式的键盘和鼠标,虽然速度和兼容性不如USB接口,但在某些特定场合依然发挥着重要作用。PCIe接口是主板上的扩展能力象征,可以连接各种扩展卡,如显卡、声卡、网卡等。电脑主板作为电脑硬件组成关键的部分,今天给大家分享一下电脑主板上有哪些接口,具体每一个接口的特点、使用场景,有需要的朋友可以来了解一下!它们不仅能连接鼠标、键盘、U盘、打印机,还能连接各种外设,如移动硬盘、游戏手柄等。:虽然现在用得越来越少,但在一些特定场合,如工业控制、老旧设备上,仍然需要使用PS/2接口。

IT技术分享社区 2787

Java基础数据结构介绍

该概览主要讲述了Java中基础的数据结构,并不涉及具体实现与使用。 相关内容来源于菜鸟教程介绍,https://www.runoob.com/java/java-data-structures.html

qq_34316768的博客 212

倍福PLC--PERSISTENT断电保持数据和BOOT中各文件对应的解析

将D:\TC3程序\TwinCAT Project146\TwinCAT RT(x86)\Plc 文件夹的中三个替换文件复制到:G:\TwinCAT\3.1\Boot\Plc完成替换,如下图。(2) 找到程序所存的路径,编程电脑的D:\TC3程序\TwinCAT Project146路径下,并选择对应系统平台TwinCAT RT(x86)(3) 控制器断电,拔出内存卡,使用读卡器,在编程电脑中打开:(本次测试读卡器为G盘)(5) 开机完成后,TwinCAT自动运行,当前闪灯频率为50ms。

weixin_41883890的博客 2344

java基础-数据结构

每个元素存储再一个单独的小内存中,知道后一个元素的地址就是单项链表,知道前后元素的地址就是双向链表。3.再hash:当发生hash冲突时使用一个新的hash函数计算出新的哈希值存放在新的桶里。vector:是基于数组array的一个list,时同步线程(syn)都是基于数组的,但是ArrayList是线程不安全的,所以性能会好一些。arraylist是基于数组的linkedlist是基于链表的。查询慢,插入和修改速度快,存储空间不连续,不浪费资源。linkedlist:基于链表,增删快,查询慢。

admin_cxz的博客 323

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Java算法基础:数据结构

我们再说数组的时候有很多种不同的环境,因为不同的编程语言提供的数组类型和api是不一样的,我们暂且把数组分为两大类,一类是【静态数组】,一类是【动态数组】。而【动态数组】是编程当中为了方便我们使用,在静态数组的基础上帮我们添加了一些常用的api,比如push、insert、remove等等方法。本章的内容带大家用原始的静态数组,自己实现一个动态数组,实现增删改查的api。有了动态数组,后面所提到的队列、栈、哈希表等进阶的数据结构都会依赖动态数组来实现。静态数组在创建时就需要确定数组的元素类型和元素数量。静态

m0_58046481的博客 985

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

java数据结构与算法的基础总结

java中的数据结构与算法本文参考文章: Java数据结构与算法之学习路线 最全的数据结构解析与归纳数据结构首先,要清楚数据结构的概念:数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。 我们在清楚java数据结构后,可以通过选择使用适当的数据结构来提高程序的运行或者存储效率。数据结构与算法的学习路线(粗糙)线性数据结构: 各类线性结构

九洱东的博客 3052

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

JAVA基础数据结构

zhuwei_clark的博客 332

java基础数据结构_Java 基础数据结构分析

个人 blog: iyuhp.top原文链接: Java 基础数据结构java -version java version "13.0.2" 2020-01-14 Java(TM) SE Runtime Environment (build 13.0.2+8) Java HotSpot(TM) 64-Bit Server VM (build 13.0.2+8, mixed mode, sharin...

weixin_39901077的博客 76

Java SE基础数据结构了解篇

Java SE基础数据结构了解篇

weixin_43774841的博客 268

Java数据结构-part1【数据结构基础知识】

Java数据结构的基础知识,包括集合框架、时间复杂度、空间复杂度、包装类、泛型。

m0_75082861的博客 980

Java基础数据结构

java基础数据结构

专注分享编程开发与技术进阶干货! 600

Java基础——数据结构和算法

1、Java中常见的数据结构 数据结构优缺点.png 理解数据结构和算法对于编程是相当重要的,选择适当的数据结构来解决相应的问题,会极大的提高程序的性能。比如三目运算: <表达式A> ? <表达式B> : <表达式C>; A为真,则执行B,并返回表达式B的结果; A为假,则执行C,并返回表达式C的结果。 必要时,进行嵌套,可取代大部分的if和else。 ...

weixin_39309402的博客 203

基础数据结构(Java实现)(1)

基础数据结构的Java实现 简介 基础数据结构: Java自带类集合框架及继承关系: 数组 Array:数组的实现 package 数据结构.数组; /** * 数组的实现 * */ public class Arrary<E> { private E[] data; private int size; public Arrary(int ca){ // String[] data = (String[]) new Object[4];

小唐的博客 431

Java数据结构:从基础到高级应用

数据结构是计算机科学和软件开发中的核心概念之一。本文探讨了Java中的基础数据结构,包括数组、列表、集合和映射,以及高级数据结构如堆栈、队列、树和图。我们还展示了这些数据结构在实际应用中的用例,包括搜索、排序、数据存储、图算法和性能优化。希望这些示例代码和应用场景有助于您更好地理解和运用Java中的数据结构。

weixin_63541611的博客 1571

手写数据结构(JAVA基础)

在Java中,你可以手写一个栈(Stack)结构。栈是一种后进先出(LIFO, Last In First Out)的数据结构,它只允许在栈顶进行元素的添加和删除操作。在这个示例中,MyStack 类使用了一个 ArrayList 作为内部存储机制。push 方法用于向栈中添加元素,pop 方法用于移除并返回栈顶元素,peek 方法用于查看栈顶元素但不移除,isEmpty 方法用于检查栈是否为空,size 方法用于获取栈的大小,clear 方法用于清空栈。

ZangLing的博客 1480

「Java 数据结构全面解读」:从基础到进阶的实战指南

/是否需要扩容 ensureCapacityEnough();//添加元素的下标检查 addCheckIndex(index);total ++;throw new IndexOutOfBoundsException(index + "越界");throw new NoSuchElementException(e + "不存在");//删除元素的下标检查 checkIndex(index);

qq_36534560的博客 1968
上一篇: Spring面试回顾
下一篇: 面试--MySQL
Renaissance14th
博客等级 码龄9年 39粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值