实现一个链表 Posted on 2018-09-04 | In Tech , Java , Java Programmer Interview java.util.List是一种链表数据结构的接口,java.util.ArrayList和LinkedList是链表的实现类。数组中每一项占用一个特定的位置,通过下标可以直接访问;而链表寻找一个元素的唯一方法是沿着这个链表一直找下去。 链表是一种物理存储单元上非连续、非顺序的存储结构,数据节点的 ... Read more »
观察者模式 Posted on 2018-09-04 | In Tech , Design Pattern 观察者模式又称监听者模式,它广泛应用在图形化编程中。实现观察者模式比较直观的一种是使用“注册、通知、撤销注册”的形式:(1)注册观察者将自己注册到目标对象中,目标对象将观察者放在一个容器里。为防止观察者重复,一般用HashSet来保存观察者的引用(Set集合无序、不重复)。(2)通知目标对象发生了某 ... Read more »
工厂方法模式 Posted on 2018-09-04 | In Tech , Design Pattern 工厂方法模式是对简单工厂方法的改进,将Factory类进行了抽象,工厂类不再负责创建具体的产品,其具体的生产工作交给其子类去完成。在这个模式中,具体工厂类和具体产品类可以一一对应。如一个抽象汽车工厂类,其具体工厂类为可以生产轿车和卡车,衍生出生产轿车和卡车的具体实现类。 1234//抽象产品类abs ... Read more »
简单工厂模式 Posted on 2018-09-04 | In Tech , Design Pattern 工厂模式是用来创建对象的设计模式。简单工厂模式专门定义一个工厂类来负责创建其它类的实例。这个工厂类能够管理这些对象,能够知道创建了多少这样的对象。简单工厂模式是工厂模式中最简单的一种。简单工厂模式的实质是,根据工厂类中静态方法的传入参数创建产品类实例,并且这些产品类都继承自一个抽象类或接口。该模式中 ... Read more »
单例模式 Posted on 2018-09-04 | In Tech , Design Pattern 单例就是保证始终只有一个实例。确保对象的唯一性,如Windows的任务管理器,打印控制器,数据库连接池等。实现单例注意点:(1)构造器私有,外部无法创建实例;(2)因此需要提供公有的方法来获取实例getInstance();(3)静态类私有成员变量,保证只有一个变量引用。单例模式的两种实现形式: ... Read more »
将某个时间以固定格式转化为字符串 Posted on 2018-09-04 | In Tech , Java , Java Programmer Interview 表示日期格式的工具类:java.text.SimpleDateFormat日期->文本:格式化format();文本->日期:解析在创建SimpleDateFormat时,需要指定格式,如SimpleDateFormat sdf = new SimpleDateFormat(“yyyy- ... Read more »
出圈算法 Posted on 2018-09-04 | In Tech , Java , Java Programmer Interview 问题:50人围成一圈,数3或3的倍数则出圈,问剩下的人是谁?在原来的位置是多少?实现: 把数据填充到数组或链表。由于数组中元素不能自动向前移动,建议使用链表。链表每移除一位,数据会自动向前移一位(其实本质是链表删除一个元素,这个元素的前一个元素的指针会重新指到下一个元素)。 用一个while循环进 ... Read more »
获得任意时间的下一天时间 Posted on 2018-09-04 | In Tech , Java , Java Programmer Interview 12345678910111213141516171819import java.util.Calendar;import java.util.Date;public class NextDay { public static void main(String[] args) { ... Read more »
打印1~1000内的回文 Posted on 2018-09-03 | In Tech , Java , Java Programmer Interview 回文就是逆向和正向的字符都相同。实现:方法一:利用StringBuffer类的reverse()方法(1)int -> String -> StringBuffer -> String(2)使用String类的equals()方法判断逆序后的字符串是否和逆序前的字符串相等。缺 ... Read more »
打印九九乘法表 Posted on 2018-09-03 | In Tech , Java , Java Programmer Interview 1234567891011121314151617181920212223/* * 打印99乘法表 */public class NineNineMultiTable { public static void main(String[] args) { //方法一:最简单是两个 ... Read more »