随笔分类 -  JAVA SE 学习笔记

把JAVA SE学习的重点记下~
策略模式
摘要:(1)什么是策略模式?策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。(2)策略模式的优点由于多重转移语句不易维护,使用策略模式可以避免使用多重条件转移语句。同时,策略模式你可以根据自己的需求动态的改变对象的行为。(3)策略模... 阅读全文

posted @ 2014-11-07 09:17 白Rime 阅读(196) 评论(0) 推荐(0)

Map,HashMap
摘要:Map(映射),又称为字典(Dictionary),是由关键字(Key)及其对应的元素值(Value)所组成的元素单元(Element)的表单式集合。通常,对于Map而言,使用给定的Key,可以迅速地从单元集合中检索到相应的元素。因此,在需要对大量数据进行查找操作而查找的性能又占据重要地位的场合,M... 阅读全文

posted @ 2014-11-06 16:42 白Rime 阅读(412) 评论(0) 推荐(0)

Collection中的排序
摘要:我们来了解一下Collection的框架与接口:Set接口下面已经有SortedSet接口,其中提供了很多自带排序的实现类,例如ThreeSet,用户还能够自定义比较器来规定自己的排序规则。本篇着重说LIst接口下的排序,List的排序主要通过服务于Collection框架的工具类Collectio... 阅读全文

posted @ 2014-11-06 11:09 白Rime 阅读(1364) 评论(0) 推荐(0)

TreeSet,Comparator
摘要:ThreeSet能够对集合中的对象排序,当TreeSet想集合中加入一个对象时,会把它插入到有序的对象序列中。ThreeSet自带了一个排序方法,这个方法规定了一般数据的排序规则,如果用户想要规定自己的排序方法,那么久要重写Comparator方法。下面是一个ThreeSet自带方法排序的例子:输出... 阅读全文

posted @ 2014-11-06 10:21 白Rime 阅读(702) 评论(0) 推荐(0)

Hashset,Iterator
摘要:HashSet类主要是设计用来做高性能集运算的,例如对两个集合求交集、并集、差集等。集合中包含一组不重复出现且无特性顺序的元素。(一)HashSet的一些特性如下:1、HashSet中的值不能重复且没有顺序。2、HashSet的容量会按需自动添加。(二)那么HshSet是如何做到集合中的值不重复呢?... 阅读全文

posted @ 2014-11-04 21:47 白Rime 阅读(3424) 评论(0) 推荐(1)

equals方法,hashcode()方法
摘要:Object类的equals 方法用来检测两个对象是否相等,即两个对象的内容是否相等,区分大小写。(一)说到equals方法,不得不提一下==号。==用于比较引用和比较原生数据类型时具有不同的功能:a)比较原生数据类型,如果两个值相同,则结果为trueb)而在比较引用时,如果引用指向内存中的同一对象... 阅读全文

posted @ 2014-11-04 19:24 白Rime 阅读(262) 评论(0) 推荐(0)

LinkedList
摘要:一)当ArrayList添加一个对象时,实际上是将该对象放置在ArrayList底层所维护的数组当中;而LinkedList中添加一个对象时,实际上LinkedList内部会生成一个Entry对象,该Entry对象的结构为:其中的Object类型的元素element就是我们向LinkedList中所... 阅读全文

posted @ 2014-11-04 15:09 白Rime 阅读(497) 评论(0) 推荐(0)

ArrayList
摘要:ArrayList就是动态数组,是Array的复杂版本,它提供了动态的增加和减少元素,实现了ICollection和IList接口,灵活的设置数组的大小等好处。常用方法:(一)add()和get()方法boolean add(E e):将指定的元素添加到此列表的尾部。E get(int index)... 阅读全文

posted @ 2014-11-03 13:38 白Rime 阅读(220) 评论(0) 推荐(0)

数组查找
摘要:对于一维数组,通常会用到以下查找方法,来查找数组中是否存在某个元素。(一)逐个元素对比,找出要查找的对象public static int search(int[] array, int value){ for(int i = 0; ia[n/2],则我们只要在数组a的右 半部继续... 阅读全文

posted @ 2014-11-03 09:37 白Rime 阅读(636) 评论(0) 推荐(0)

冒泡排序
摘要:关于数组的排序,在此介绍下冒泡排序:冒泡排序的基本操作是:依次比较相邻的两个数,将小数放在前面,大数放在后面。第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了... 阅读全文

posted @ 2014-11-03 09:36 白Rime 阅读(153) 评论(0) 推荐(0)

生成随机数,统计个数,按序排列
摘要:有以下一个题目:(一)生成随机数可以用以下方法:上面用了两种方法生成随机数,1)采用Random类的nextInt(int a)方法,该方法返回 一个大于等于0且小于a的随机整数,再加上10,就是 10<=result<51等价于[10,50]。2)采用Math。random()方法,该方法返回一个... 阅读全文

posted @ 2014-11-01 20:36 白Rime 阅读(536) 评论(0) 推荐(0)

数组(Array),二维数组,三维数组
摘要:数组(Array):相同类型数据的集合就叫做数组。(一)定义数组的方法:A) type[] 变量名 = new type[数组中元素的个数]例如: int[] a = new int[10] ;或者 int a[] = new int[10];B)type[] 变量名 = new type[]{逗... 阅读全文

posted @ 2014-10-31 19:36 白Rime 阅读(23178) 评论(1) 推荐(0)

包装类(Wrapper Class)
摘要:1)包装类。针对于原生数据类型的包装。所有的包装类(8个)对位于java.lang包下。java中的8个包装类分别是:Byte,Short,Integer,Long,Float.Double,Character,Boolean。他们的使用方式都一样,可以实现原始数据类型和包装类型的双向转换。那么为什... 阅读全文

posted @ 2014-10-31 10:16 白Rime 阅读(1386) 评论(0) 推荐(1)

String类详解,StringBuffer
摘要:先说一下String类的equals()方法。下面我们先看一段代码:这段代码输出的结果为:turetrue--------------false咋看之下貌似Object类比较特别,那么我们看一下Object下的equals()方法的源代码Object下的queals()方法十分简单,就是单纯的判断这... 阅读全文

posted @ 2014-10-30 10:19 白Rime 阅读(314) 评论(0) 推荐(0)

进制间的互相转换
摘要:一)十进制 转换 为其他进制:采用倒取余数法例1:十进制89 转换为 五进制数89/5=17 余 4 ,余数是417/5=3 余 2 ,余数是23/5=0 余 3 ,余数是3那么转换为五进制数是324,要把余数倒过来写。反过来算就是:4*5^0 + 2*5^1 + 3*5^2 = 89例2:十进制9... 阅读全文

posted @ 2014-10-29 16:22 白Rime 阅读(900) 评论(0) 推荐(0)

instanceof、==号、Objetc类
摘要:1)instanceof: 判断某个对象是否为某个类的实例,注意多态的运用,一个父类引用指向子类的对象,根据继承,子类就是父类,所以子类也可以看做是父类的一个实例。 形式:引用 instanceof 类名 , 返回 boolean值----------------------------------... 阅读全文

posted @ 2014-10-29 13:51 白Rime 阅读(233) 评论(0) 推荐(0)

public、private、protected 与 默认 等访问修饰符
摘要:1)public(公共的):被public修饰的属性和方法可以被所有类访问。2)private(私有的):被private修饰的属性和方法只能在改类的内部使用。3)protected(受保护的):被protected修饰的属性和方法可以在类的内部、相同包、以及该类的子类所访问。4)默认的(不添加任何... 阅读全文

posted @ 2014-10-29 13:47 白Rime 阅读(324) 评论(0) 推荐(0)

包(package) 与 导入(import) 语句剖析
摘要:A) 包(package):用于将完成不同功能的类分门别类,放在不同的目录下。B)命名规则:将公司域名翻转作为包名。例如www.vmaxtam.com域名,那么包名就是com.vmaxtam 每个字母最好小写。现在有这样一段代码:package com.vmaxtam;public class Pa... 阅读全文

posted @ 2014-10-29 10:56 白Rime 阅读(1199) 评论(0) 推荐(0)

单例模式
摘要:单例模式 是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。从具体实现角度来说,实现单例模式需要以... 阅读全文

posted @ 2014-10-29 09:35 白Rime 阅读(189) 评论(0) 推荐(0)

static 与 final 修饰符
摘要:A) 用static(静态)修饰属性:一个类生成了N个对象,这些对象会共同使用一份静态的成员变量。一个对象对这个成员变量进行修改,其他对象的该成员变量的值也会随之变化。B) 我们可以通过 类名.成员变量名 来调用这个静态成员变量。C)static修饰方法: static修饰的方法叫静态犯法。 可以使... 阅读全文

posted @ 2014-10-27 12:38 白Rime 阅读(1033) 评论(0) 推荐(0)