- 博客(100)
- 收藏
- 关注
原创 通俗讲排序之交换排序
什么是交换排序呢?两两比较待排序的关键字,并交换不满足次序要求的那对数,直到整个表都满足次序要求为止。交换排序具体分为冒泡排序和快速排序。下面对两种排序进行讲解。冒泡排序(bubble sort)一、基本思想 冒泡排序很简单,貌似只要会一点排序算法的,那他会的肯定是冒泡。思想很简单,就是从一端第一个开始,多次进行(比较->交换),最终最大(小)的元素会浮在另一端...
2019-05-22 15:19:26
1128
原创 设计模式(四)单例模式
一、什么是单例模式 单例模式是一种对象创建型模式,使用单例模式可以保证为一个类只生成唯一的实例对象。 也就是说,在整个程序空间中,该类只存在一个实例对象。其实,GOF对单例模式的定义是:保证一个类、只有一个实例存在,同时提供能对该实例加以访问的全局访问方法。二、为什么要使用单例模式在应用系统开发中,我们常常有以下需求:在多个线程之间,比如servlet环境, 共享同...
2019-05-21 16:12:31
116
原创 通俗说排序之选择排序
参考:https://blog.csdn.net/m0_37925202/article/details/80818561;https://www.cnblogs.com/chengxiao/p/6129630.html选择排序(Selection Sort) 选择排序的基本思想:每趟从待排序的记录中选出关键字最小的记录,顺序放在已排好序的子文件的最后,直到全部记录排序完...
2019-05-20 23:20:57
299
1
原创 通俗讲排序之插入排序
插入排序 插入排序(InsertionSort)的基本思想是:将待排序文件中的一个记录按照排序码的大小插入到一个有序序列的适当位置,使得插入后的序列仍然有序。用同样的方法可将所有记录全部插入到有序序列中,完成排序运算。插入排序主要包括两种方法:直接插人排序和希尔(Shell)排序。直接插入排序(Straight Insertion Sort)一、基本思想 把...
2019-05-16 10:10:40
303
原创 设计模式(三)抽象工厂模式
一、什么是抽象工厂模式 抽象工厂模式是所有形态的工厂模式中最为抽象和最其一般性的。抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,能够创建多个产品族的产品对象。注:注意这里针对“产品族”,即是同一个产品有多个样式。二、模式中包含的角色及其职责 1. 抽象工厂( Creator)角色 抽零工厂模式的核心,...
2019-05-16 10:08:24
104
原创 设计模式(二)工厂方法模式
一、什么是工厂方法模式 工厂方法模式同样属于类的创建型模式又被称为多态工厂模式。工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中,核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。二、模式中包含的...
2019-05-13 20:56:30
147
原创 设计模式(一)简单工厂模式
一、什么是简单工厂模式 简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式。通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类或接口。二、 模式中包含的角色及其职责 1.工厂(Creator) 角色 简单工厂模式的核心,它负责实现创建所有类型的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象。 ...
2019-05-13 17:51:31
208
原创 使用File类遍历本地目录
自己动手,丰衣足食。我发现必须得时常的亲手敲下代码,毕竟有些东西,时间一长就忘了,尤其是代码这种要求一丝不苟的事情。今天在看权力的游戏第八季的第四集之前,编写好了这个遍历文件目录的代码。看上去很简单,但是还是需要动下脑子。ps:权力的游戏是真的好看!说下注意的几个点:这里把level变量设置为函数的参数而不是成员变量,否则每往上一次就得减1,每往下一层就得加1,处理很麻...
2019-05-06 16:07:55
421
原创 了解python代码的执行顺序和对if __name__ == '__main__'理解
进度一: 前几天,我学习python时,编写简单的代码,一般是这样的: pi.pyPI=3.14print("this is out")def main(): print("PI=",end='') print(PI)main() 我以为在代码最后调用main()函数,表示从主函...
2019-04-30 20:31:43
1537
1
原创 python基础语法快速入门之文件读写
Python提供了内置支持来实现文件的打开(open)、处理(process)和关闭(close)。可以允许你打开一个文件以某种方式处理其其数据(读、写、追加数据),然后在完成时关闭文件(这回保存所做的修改)。写文件步骤:调用open函数会返回一个文件流,两个参数,第二个参数指操作模式(此处为追加模式)。 使用print方法写数据到文件,它有两个参数,第一个是数据,第...
2019-04-24 22:30:46
172
原创 python基础语法快速入门之输入输出
输入:x = input("提示字")输出:字符串:print("hello world")整型:print(100)变量输出:x=12 #整型s="hello" #字符串型arr=[1,2,"a"] #列表t=(1,2,"a") #元组d={"a":1,"b":2} #字典以上数据类型都可直接用 print(变量名) 直接输出格式化输出:s =...
2019-04-24 17:17:15
274
原创 python基础语法快速入门之异常处理
异常处理python中try/except/else/finally语句的完整格式如下所示:try: Normal execution blockexcept A: Exception A handleexcept B: Exception B handleexcept: Other exception handleelse: if ...
2019-04-24 16:16:11
173
原创 SQL语句汇总(上)
好长时间没有看数据库的东西,啥都忘得一干二净,于是下决心抽点时间把常用的sql语句总结一下,方便以后自己使用的时候能够快速找到自己想要的。由于各种sql语句还是挺多的,我把它多分几篇,计划分成三篇。对数据库、表、列属性的操作,这里还没有涉及到对数据的操作 对单个表中数据简单的增删改查,包括一些聚合函数的使用等 多表操作下面来了解一下,什么是SQL? SQL...
2019-04-23 10:13:37
162
原创 在visualbox虚拟机上安装centos7的注意事项
流程:下载visualbox并安装 打开软件,有个新建选项,新建一个虚拟机,内存、硬盘容量都用默认值,一直点下一步,完成虚拟机的创建。 虚拟机有了,但是并无操作系统,需要给虚拟机安装操作系统,在官网随便找个站点下载centos7,我下的DVD版本4.27G 接下来启动虚拟机,它会提示你选择一个光驱,选择下载好的centos7,它后缀是iso,相当于虚拟的一个光驱,按着提示安装 语言选择...
2019-04-22 21:14:21
214
原创 Interceptor和Filter区别与使用
参考:https://blog.csdn.net/zxd1435513775/article/details/80556034一、过滤器(Filter) 过滤器(Filter):它依赖于servlet容器。在实现上,基于函数回调,它可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的,是用来做一些过滤操作,获取我们想要获取的数据,比如...
2019-04-21 19:45:51
534
原创 控制反转(IOC)
控制反转( IOC ) 控制反转的英文全称是Inversion ofControl (简称I0C),是近年来兴起的一种Java编程模式。该编程思想主要用于协调组件之间相互依赖关系,是面向对象思想的一种具体表现形式。什么是控制反转 有一句好莱坞名言可以准确地概括出控制反转的本质:“Don't call us, we'll call you”(你呆着别动,到时我会找你...
2019-04-21 18:50:27
1734
原创 二分法的实现
public class Demo { public static void main(String args[]){ int a[] = {0,1,2,3,4,5,6,7,8,9}; for(int i=0;i<a.length;i++) {//测试成功查找 System.out.println(binary(a,a[i])); } System.out.prin...
2019-04-19 16:16:55
250
原创 java创建对象的几种方法
(1) 用new语句创建对象,这是最常见的创建对象的方法。(2) 运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。(3) 调用对象的clone()方法。(4) 运用反序列化手段,调用java.io.ObjectInputStream对象的 readObject()方法。总结:(1)和(2)...
2019-04-17 20:31:27
122
原创 java反转字符串的两种方法
方法一:把字符串转换为字符数组,倒序遍历方法二:使用charAt()函数依次获取单个字符public class Demo { public static void main(String args[]){ String s = "apple"; System.out.println(reverse1(s)); System.out.println(reverse2(s))...
2019-04-17 20:28:28
256
原创 java斐波那契数列两种实现方法
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……即这个数列从第3项开始,每一项都等于前两项之和。以下是代码实现:import java.util.Scanner;p...
2019-04-17 18:09:49
857
原创 java中for和foreach遍历集合元素的差别
突然好奇for循环和foreach循环有什么差异,于是通过操作了一波。以下分别使用for循环和foreach循环对ArrayList和LinkedList集合进行了遍历测试。import java.util.ArrayList;import java.util.LinkedList;public class Test { public static void...
2019-04-08 16:25:12
673
1
原创 字符编码(二)理解并解决乱码问题
最近在学习网络编程,看一位老师的讲解,突然对编码问题理解更透彻了,打算做个笔记。本文基于我以前写的一篇博文,编码类型的起源:https://blog.csdn.net/qq_36923376/article/details/82587178,其实说白了就是为啥要有编码这个东西? 通俗说,编码就是二进制和人类语言之间的翻译官。计算机只认识二进制,人类只认识自己的语言,他...
2019-04-02 17:00:02
257
原创 使用字节输入输出流实现文件拷贝
import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;public class Main1{ public static void main(String args[]){// 原始状态下,只有tutu1.jpg文...
2019-04-02 15:06:02
637
原创 java输入、输出流的简单入门
程序在运行期间可能需要从外部的存储媒介或其他程序中读取所需要的数据,这就需要使用输入流,输入流的指向称为它的源;另一方面,程序在处理数据后,可能需要将处理的结果写入到永久的存储媒介中或传送给其他的应用程序,这就需要使用输出流。 通俗的解释就是,以我当前程序为主,我要和其他的事物进行交流,所以我必须要搭一个通道(这个通道就是流),让我和它可以交流,我获取该事物的数据就叫输...
2019-03-30 19:17:24
15980
4
原创 常见的字符串处理方法
通常处理字符串时,都会和其他的数据类型扯上关系,最常见的就是和数组的转化,在https://blog.csdn.net/qq_36923376/article/details/84635247这篇博文中已经讲过一些,这里做下补充。一、字符串与字符数组字符数组转化为字符串使用String的构造方法:String(char a[]); String(char a[] ,int off...
2019-03-29 21:23:37
2616
原创 Pattern与Match类(解析字符串进阶)
模式匹配就是检索和指定模式匹配的字符串。Java提供了专门用来进行模式匹配的Pattern类和Matcher类,这些类在java.uitl.regex包中。使用方法:1.建立模式对象使用正则表达式regex做参数得到一个称为模式的Pattern类的实例pattern.String regex = "[a-z]+";pattern = Pattern.compile(regex...
2019-03-29 21:23:08
1847
原创 java数字类型格式化
需求:将int型或double型格式成你想的形式并以字符串展现。前言:在JDK1.5版本之前,程序需要使用java.text包中的相关类(如DecimalFormat)对数字型数据进行格式化。JDK1.5版本提供了更为方便的Formatter类,Formatter类提供了一个和C语言printf函数类似的format方法:format(格式化模式,值列表)。该方法按照“格式化模式”返回“值列表...
2019-03-27 16:54:08
933
原创 内部类和匿名类的介绍
内部类Java支持在一个类中定义另一个类,这样的类称作内部类,而包含内部类的类称为内部类的外嵌类。内部类和外嵌类的关系:内部类的外嵌类的成员变量在内部类中仍然有效,内部类中的方法也可以调用外嵌类中的方法 内部类的类体中不可以声明类变量和类方法(static)。外嵌类的类体中可以用内部类声明对象,作为外嵌类的成员 内部类仅供它的外嵌类使用,其他类不可以用某个类的内部类声明对象 内部...
2019-03-26 16:49:23
1350
原创 关于comparator/comparable/sort的知识详解
前几天,做了一道算法题,是键值对的形式存储,放在map中,要求按照他们的value值的大小进行排序,然后输出。我不会,百度了一波,看了一堆compare、comparator、comparable、compareTo之类的单词,买了否冷!你确定这不是在背单词!看到不懂的东西就会让我非常着急,那天我花了一晚上把这些搞懂了,今天抽点时间好好总结下。首先说下我要干嘛。。通常我们对数据进行存储时,有时...
2019-03-26 16:48:57
443
原创 java的Set/List/Map集合的了解与认识
程序时常要和各种数据打交道,合理地组织数据的结构以及相关操作是程序设计的一个重要方面,比如在程序设计中经常会使用诸如链表、散列表等数据结构。下图是常用的几种数据结构: 以前学习数组,在数组中我们可以存储整型类型、字符类型等,但并没有存储过复杂的数据类型,诸如对象。上述的这七个容器不仅可以储存基本的数据,也可以存储复杂的数据类型。 ...
2019-03-26 15:27:30
131
原创 小白的一些数学算法题
1.题目描述某人有8 角的邮票5 张,1 元的邮票4 张,1 元8 角的邮票6 张,用这些邮票中的一张或若干张可以得到多少中不同的邮资?输入描述:无输出描述:输出一行,表示题目所求。思路:三层嵌套循环遍历,一共有100多种组合值,但里面有重复的,如何去重?让他们这些值作为数组的下标,比如一开始让数组的所有值为0,当组合出一个值,其作为下标相应的数组位置值改变,即不为...
2019-03-22 21:04:27
400
原创 java的next()和nextLine()的区别
next() next()方法在读取内容时,会过滤掉有效字符前面的无效字符,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其过滤掉;只有在读取到有效字符之后,next()方法才将其后的空格键、Tab键或Enter键等视为结束符;所以next()方法不能得到带空格的字符串。nextLine() nextLine()方法...
2019-03-22 21:02:43
347
原创 小白基础之数据结构----图
线性结构、树形结构、图结构当对线性结构中的结点放宽后继个数的限制时,就得到了树形结构,再对树形结构中的结点放宽了前趋个数的限制时,就得到了图结构。图把包含n个顶点,恰好有n(n-1)条边的有向图称为有向完全图;同理恰有n(n-1)/2条边的无向图称为无向完全图。在无向图中,若从顶点x到顶点y有路径,则称顶点x和y是连通的。若无向图任意两个不同的顶点x和y都连通,则称无向图为连通图。...
2019-03-14 20:51:03
271
原创 小白基础之数据结构------二叉树
概述:过了个年,就像喝了碗孟婆汤,什么都忘得一干二净。打算先从数据结构开始,逐步拾起丢失的记忆。我看的是我们学校自己写的数据结构书,以前感觉不咋样,现在一看感觉也是一本不错的书。我认为的不错是它把一些概念讲的特别详细,关键是通俗易懂。举个例子,你在看书时,会对一些概念产生疑问,如果不解决这个疑问,可能很难再继续读下去。这本书就是当你产生疑问,接下来的内容就是解决你心中的疑问的。所以看着很舒服。我认...
2019-03-13 18:39:44
244
原创 发生空指针异常的情况
发生NullPointerException的情况: 调用 null 对象的实例方法。 访问或修改 null 对象的字段。 如果一个数组为null,试图用属性length获得其长度时。 如果一个数组为null,试图访问或修改其中某个元素时。 在需要抛出一个异常对象,而该对象为 null 时。 ...
2019-03-04 18:59:20
955
原创 List集合的去重问题
大家都知道,set集合的特点就是没有重复的元素。如果集合中的数据类型是基本数据类型,可以直接将list集合转换成set,就会自动去除重复的元素,这个就相对比较简单。如下例:public class Test { public static void main(String[] args) { List list = new ArrayList(); ...
2019-03-02 21:27:40
534
原创 一文讲懂JavaScript的正则表达式
在讲正则表达式之前,先说一下常用的字符串函数var str=‘abc-def’;1、str.search('c'); //返回第一次出现该字符的位置(这里的位置编号相当于数组下标,从0开始)。2、str.substring(2,5);//截取从第2位置到第5位置的字符串(包含第二位置,不包含第5位置)。 str.substring(1);//截取从第1位置开始一直到结尾的...
2019-01-15 19:55:49
171
原创 String、StringBuffer、StringBuilder的区别
可变与不可变:String是不可变字符串对象,StringBuilder和StringBuffer是可变字符串对象(其内部的字符数组长度可变)。 是否多线程安全:String中的对象是不可变的,也就可以理解为常量,显然线程安全。StringBuffer 与 StringBuilder 中的方法和功能完全是等价的,只是StringBuffer 中的方法大都采用了synchronized 关键字进行...
2018-11-30 12:42:15
175
原创 Date与Calendar类
一、Date类这里的类指的是java.util包中的类 背景:在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理。 看上面的意思是如果使用时间的,推荐使用Calendar,但其实我经常见的还是Date类,很奇怪。言归正传,我从官网找了类Date文档,先看...
2018-11-29 21:25:05
275
原创 深入理解java的String(基础篇)
String类在java.lang包中,java.lang包中的类是默认被引入的1. 构造字符串对象常用的构造字符串的方法有以下几种://方法一String a = "apple";//方法二String b = new String("apple");//方法三 使用字符数组创建String对象char[] arr = {'a','p','p','l','e'};S...
2018-11-29 17:50:04
244
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅