Java设计模式之装饰模式

装饰模式的定义动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活装饰模式的结构和说明Component: 组件对象的接口,可以给这些对象动态的添加职责ConcreateComponent: 具体的组件对象,实现组件对象接口,通常就是被装饰器装饰的原始对象,也就是可以给这个对象添加职责。Decorator: 所有装饰器的抽象父类,需要定义一个与组件接口一致的接口, …… 阅读全文

Java算法基础之快速排序算法

所谓的快速排序的思想就是,首先把数组的第一个数拿出来作为一个key,在前后分别设置一个i,j作为标识,然后拿这个数组从后面往前遍历, 及j- -,直到找到第一个小于这个key的那个数然后交换这两个值,交换完成后,我们拿着这个key要从i往后遍历了,及i++ 一直循环到i=j结束, 当结束后,我们会发现大于这个key的值都会跑到这个key的后面,小于这个key的值就会跑到这个值的前面,然后我们对 …… 阅读全文

Java统计目录文件下行数的总和,注释行数的总和,空行数总和

Java统计目录文件下代码行数的总和,注释行数的总和,空行数总和思路:首先要用递归遍历所有文件夹下的文件,然后记录统计出每一个文件的行数,注释行数,空行数。package com.sina;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;/** * 要求如下: * 统计目录中所有非二进制文 …… 阅读全文

Java设计模式之适配器模式

将一个类的接口转换成客户希望的另外一个接口。Adapter 模式使得原 本由于接口不兼容而不能一起工作的那些类可以一起工作。 —Gang of Four适配器模式将一个类的接口适配成用户所期待的。一个适配器通常允许因为接口不兼容而不能一起工作的类能够在一起工作, 做法是将类自己的接口包裹在一个已存在的类中。适配器模式类图所示是适配器模式的类图。Adapter 适配器设 …… 阅读全文

Java中Queue的使用

Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Queue接口。我们平时使用的一些常见队列都是非阻塞队列,比如PriorityQueue、LinkedList(LinkedList是双向链表,它实现了Dequeue接口)阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操作会被阻 …… 阅读全文

HashMap实现原理及源码分析

当我们执行如下操作时:HashMap<String, Float> map = new HashMap<String, Float>();map.put("语文", 86.5f);map.put("数学", 93.0f);map.put("英语", 90.0f);对于HashMap而言,采用一种所谓的“Hash算法”来决定每个元素的存储位置。当程序执行 map.put(“语文”, 86.5f) …… 阅读全文