- 博客(10)
- 收藏
- 关注
原创 Java中Collection中的contains方法深度解析
一、问题提出:众所周知,Java集合的contains方法是判断某个元素在集合中是否存在。boolean contains(Object o)判断集合中是否包含某个对象o。如果包含返回true,不包含则返回false。但是contains底层原理是个值得深究的问题二、问题深入:1、经典例子:import java.util.ArrayList;import java.util.Collection;public class CollectionTest04 { public stat
2020-11-27 23:59:53 1903
原创 Java简单小程序:酒店管理系统
1、房间类:package 酒店管理系统;/* 酒店房间*///只要写了一个类,那么必须写出setter和getter方法并且重写equals和toString方法(无论是否用得上)//目的是如果不重写equals方法,那么它默认继承Object类,那么比较的就是内存地址,而实际开发中不比较内存地址比较类public class Room { /* 房间编号 101 102 103 104... 201 202 203 204... 301 302
2020-09-30 08:59:49 1630
原创 Java的super关键字问题(1)
对于Java初学者来说,this关键字和super关键字有时会傻傻分不清,今天笔者将把super和this放在一起对比说明,希望对读者有所帮助一、super和this:this:1、可以出现在实例方法和构造方法中2、this不能使用在静态方法中3、“this.”大部分情况可以省略(在区分局部和实例变量时不可省略)4、this出现在构造方法第一行,通过当前构造方法调用“本类“”中其他构造方法,达到代码复用super:1、可以出现在实例方法和构造方法中2、super不能使用在静态方法中3、“
2020-07-30 17:02:51 364
原创 数据结构C语言实现-矩阵的压缩存储
一、矩阵的压缩存储:在编写程序时往往都是二维数组表示矩阵,然而在数值分析中经常出现一些阶数很高的的矩阵同时在距震中有很多值相同的元素,或者是零元素,为了节省空间,可以对这类矩阵进行压缩存储,所谓的压缩存储就是,多个值相同的元之分配一个存储空间,对零元不分配空间。二、矩阵分类:1、假如值相同的元素或者零元素在矩阵中的分配有一定的规律,则我们称此类矩阵为特殊矩阵;反之,称为稀疏矩阵。2、n阶对称矩阵满足Aij = Aji 1<=i,j<=n;3、稀疏矩阵:非零元较零元少,且分布没有规
2020-07-25 21:22:18 4628 1
原创 Java向上向下转型那些事
在学习Java编程中,最头疼事情之一就是数据类型转换。有时候它在不经意之间就完成了(自动类型转换),有时候却又要求我们手动指定(强制类型转换)。基本数据类型,转换规则还可以通过类型本身空间大小和精度分析明白,而且最多就是丢失精度,运行起来至少是不会报错。可是面对引用数据类型,这个“坑”就大了:有自动转的,有强制转的,还有强制都转不了的;自动转了的却把对象身上的方法丢了看不见;强制转的编译过了运行却可能报异常。笔者也是花了好久才勉强弄懂,分享本文帮助读者理解一、转型(casting):首先我们来了解转型
2020-07-24 12:49:03 2240 2
原创 数据结构C语言实现-二叉树遍历
一、二叉树简介:1、概论:二叉树(binary tree)是指树中节点的度不大于2的有序树,它是一种最简单且最重要的树。二叉树的递归定义为:二叉树是一棵空树,或者是一棵由一个根节点和两棵互不相交的,分别称作根的左子树和右子树组成的非空树;左子树和右子树又同样都是二叉树。2、二叉树的优势:二叉树在实际使用时会根据链表和有序数组等数据结构的不同优势进行选择。有序数组的优势在于二分查找,链表的优势在于数据项的插入和数据项的删除。但是在有序数组中插入数据较慢,在链表中查找数据项效率较低。综合以上情况,二叉树
2020-07-23 11:35:54 989
原创 数据结构的C语言实现-括号匹配问题
当时我在学习数据结构栈和队列时做的最多的算法就是括号匹配问题,该算法将栈的特性淋漓尽致地体现了出来,可以称得上是一个经典程序,本文将详细分析该程序一、栈:首先,做这个算法之前我们应该先对栈有所了解。栈(stack)是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。
2020-07-22 08:57:24 8530 1
原创 Java中普通方法与构造方法
相信很多初步接触Java方法的小伙伴都对普通方法和构造方法理解不到位,希望本文对读者有所启示一、方法的简介:Java方法是语句的集合,它们在一起执行一个功能。(1)方法是解决一类问题的步骤的有序组合(2)方法包含于类或对象中(3)方法在程序中被创建,在其他地方被引用1、构造方法:构造方法是类的一种特殊方法,用来初始化类的一个新的对象,在创建对象(new 运算符)之后自动调用。Java 中的每个类都有一个默认的构造方法,并且可以有一个以上的构造方法。Java 构造方法有以下特点:1、方法名必
2020-07-21 21:53:20 2089 1
原创 数据结构的C语言实现-线性表的合并与排序
一、线性表简介:1、线性表是最基本、最简单、也是最常用的一种数据结构。线性表(linear list)是数据结构的一种,一个线性表是n个具有相同特性的数据元素的有限序列2、线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的(注意,这句话只适用大部分线性表,而不是全部。比如,循环链表逻辑层次上也是一种线性表(存储层次上属于链式存储,但是把最后一个数据元素的尾指针指向了首位结点)二、线性表的一般操作:(1) InitList(& L)
2020-07-20 23:10:34 4461
原创 数据结构的C语言实现-单链表
数据结构的C语言实现-单链表单链表是数据结构的最基本程序,从这开始将持续更新数据结构的各部分内容的C语言实现代码一、单链表简介(一)概念介绍:链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。以“结点的序列”表示线性表称作线性链表(单链表),单链表是链式存取的结构。(二)链接存储方法:链接方式存储的线性表简称为链表(Linked List)。链表的具体存储表示为:① 用一组任意
2020-07-18 23:27:13 722
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人