skywang12345

导航

 

2013年10月21日

摘要: 我们以ByteArrayInputStream,拉开对字节类型的“输入流”的学习序幕。本章,我们会先对ByteArrayInputStream进行介绍,然后深入了解一下它的源码,最后通过示例来掌握它的用法。转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_02.htmlByteArrayInputStream 介绍ByteArrayInputStream 是字节数组输入流。它继承于InputStream。它包含一个内部缓冲区,该缓冲区包含从流中读取的字节;通俗点说,它的内部缓冲区就是一个字节数组,而ByteArrayInputStream本质就是 阅读全文
posted @ 2013-10-21 13:03 如果天空不死 阅读(34976) 评论(1) 推荐(24) 编辑
 

2013年10月20日

摘要: java io 系列目录如下:01.java io系列01之"目录"02.java io系列02之 ByteArrayInputStream的简介,源码分析和示例(包括InputStream)03.java io系列03之 ByteArrayOutputStream的简介,源码分析和示例(包括OutputStream)04.java io系列04之 管道(PipedOutputStream和PipedInputStream)的简介,源码分析和示例05.java io系列05之 ObjectInputStream 和 ObjectOutputStream06.java io系 阅读全文
posted @ 2013-10-20 23:56 如果天空不死 阅读(29078) 评论(16) 推荐(47) 编辑
 

2013年10月13日

摘要: 本文包括2部分内容:“ASCII,Unicode和UTF-8” 和“Big Endian和Little Endian”。第1部分 ASCII,Unicode和UTF-8 介绍1. ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111。上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为 阅读全文
posted @ 2013-10-13 10:45 如果天空不死 阅读(9561) 评论(8) 推荐(3) 编辑
 

2013年10月10日

摘要: 本章介绍TimeZone。TimeZone 简介TimeZone 表示时区偏移量,也可以计算夏令时。在操作 Date, Calendar等表示日期/时间的对象时,经常会用到TimeZone;因为不同的时区,时间不同。下面说说TimeZone对象的2种常用创建方式。1 获取默认的TimeZone对象使用方法:TimeZone tz = TimeZone.getDefault()2 使用 getTimeZone(String id) 方法获取TimeZone对象使用方法:// 获取 “GMT+08:00”对应的时区TimeZone china = TimeZone.getTimeZone(&quo 阅读全文
posted @ 2013-10-10 09:08 如果天空不死 阅读(4943) 评论(0) 推荐(1) 编辑
 
摘要: 本章介绍Locale。1 Locale 介绍Locale 表示地区。每一个Locale对象都代表了一个特定的地理、政治和文化地区。在操作 Date, Calendar等表示日期/时间的对象时,经常会用到;因为不同的区域,时间表示方式都不同。下面说说Locale对象的3种常用创建方式。1 获取默认的Locale使用方法:Locale locale = Locale.getDefault()2 直接使用Locale的静态对象Locale.java中提供了以下静态对象public static final Locale CANADApublic static final Locale CANADA_ 阅读全文
posted @ 2013-10-10 09:06 如果天空不死 阅读(5208) 评论(0) 推荐(0) 编辑
 
摘要: 本章介绍SimpleDateFormat。SimpleDateFormat 介绍SimpleDateFormat 是一个格式化Date 以及 解析日期字符串 的工具。它的最常用途是,能够按照指定的格式来对Date进行格式化,然后我们使用可以格式化Date后得到的字符串。更严格的说,SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。SimpleDateFormat的构造函数:// 构造函数SimpleDateFormat()SimpleDateFormat(String p 阅读全文
posted @ 2013-10-10 09:05 如果天空不死 阅读(4168) 评论(0) 推荐(1) 编辑
 
摘要: 本章主要介绍DateFormat。DateFormat 介绍DateFormat 的作用是 格式化并解析“日期/时间”。实际上,它是Date的格式化工具,它能帮助我们格式化Date,进而将Date转换成我们想要的String字符串供我们使用不过DateFormat的格式化Date的功能有限,没有SimpleDateFormat强大;但DateFormat是SimpleDateFormat的父类。所以,我们先对DateFormat有个整体了解,然后再学习SimpleDateFormat。DateFormat 的作用是格式化Date。它支持格式化风格包括 FULL、LONG、MEDIUM 和 SH 阅读全文
posted @ 2013-10-10 09:04 如果天空不死 阅读(2657) 评论(0) 推荐(0) 编辑
 
摘要: 本章主要介绍Date类,并通过示例学习如何使用它。最后,讲解一下UTC、GMT和时区的关系。Date 介绍Date 定义public class Date implements java.io.Serializable, Cloneable, Comparable {}Date 是表示时间的类。一个Date对象表示一个特定的瞬间,能精确到毫秒。我们可以通过这个特定的瞬间,来获取到Date对应的“年、月、日、时、分、秒”。反之亦然,我们也可以通过设置Date的“年、月、日、时、分、秒”等信息,来改变Date所指定的特定瞬间。除了“年月日时分秒”等信息之外,Data也允许格式化和解析日期字符串。即 阅读全文
posted @ 2013-10-10 09:01 如果天空不死 阅读(2973) 评论(0) 推荐(2) 编辑
 
摘要: 本章主要是收藏一些常用的类和接口,包括:万年历(农历、阳历节日、阴历节日)、自定义的Calendar接口。万年历源码如下(ChineseCalendar.java): 1 package com.via.mce.monthcalendar.utils; 2 3 import java.util.Calendar; 4 import java.util.Date; 5 import java.util.GregorianCalendar; 6 import java.util.HashMap; 7 8 /** 9 * 农历日历。 10 * 将农历从1901年到2100年... 阅读全文
posted @ 2013-10-10 08:59 如果天空不死 阅读(2086) 评论(0) 推荐(0) 编辑
 

2013年10月9日

摘要: Java 操作日期/时间,往往会涉及到Calendar,Date,DateFormat这些类。最近决定把这些内容系统的整理一下,这样以后使用的时候,会更得心应手。本章的内容是主要讲解“Java时间框架”以及“类Calendar”。在学习Calendar类时,我们先对它有个整体认识,心中建立一个框架,然后再通过示例学习如何使用它。Java 时间架构图Java 的Calendar, Date和DateFormat的关系图如下:说明:(01)milliseconds 表示毫秒。 milliseconds = “实际时间” - “1970-01-01 00:00:00”。Calendar 和 Da.. 阅读全文
posted @ 2013-10-09 09:15 如果天空不死 阅读(9396) 评论(0) 推荐(3) 编辑
 

2013年10月8日

摘要: 第1部分 Java 反射机制介绍Java 反射机制。通俗来讲呢,就是在运行状态中,我们可以根据“类的部分已经的信息”来还原“类的全部的信息”。这里“类的部分已经的信息”,可以是“类名”或“类的对象”等信息。“类的全部信息”就是指“类的属性,方法,继承关系和Annotation注解”等内容。举个简单的例子:假设对于类ReflectionTest.java,我们知道的唯一信息是它的类名是“com.skywang.Reflection”。这时,我们想要知道ReflectionTest.java的其它信息(比如它的构造函数,它的成员变量等等),要怎么办呢?这就需要用到“反射”。通过反射,我们可以解析出 阅读全文
posted @ 2013-10-08 09:05 如果天空不死 阅读(8097) 评论(8) 推荐(11) 编辑
 

2013年9月28日

摘要: 摘要Java Annotation是JDK5.0引入的一种注释机制。网上很多关于Java Annotation的文章,看得人眼花缭乱。Java Annotation本来很简单的,结果说的人没说清楚;弄的看的人更加迷糊。我按照自己的思路,对Annotation进行了整理。理解 Annotation 的关键,是理解Annotation的语法和用法,对这些内容,我都进行了详细说明;理解Annotation的语法和用法之后,再看Annotation的框架图,可能有更深刻体会。废话就说这么多,下面开始对Annotation进行说明。若您发现文章中存在错误或不足的地方,希望您能指出!第1部分 Annota 阅读全文
posted @ 2013-09-28 14:01 如果天空不死 阅读(45871) 评论(14) 推荐(42) 编辑
 
摘要: 本章先讲解Java随机数的几种产生方式,然后通过示例对其进行演示。广义上讲,Java中的随机数的有三种产生方式:(01). 通过System.currentTimeMillis()来获取一个当前时间毫秒数的long型数字。(02). 通过Math.random()返回一个0到1之间的double值。(03). 通过Random类来产生一个随机数,这个是专业的Random工具类,功能强大。第1种通过System.currentTimeMillis()来获取随机数。实际上是获取当前时间毫秒数,它是long类型。使用方法如下:final long l = System.currentTimeMill 阅读全文
posted @ 2013-09-28 11:28 如果天空不死 阅读(174452) 评论(2) 推荐(13) 编辑
 

2013年9月27日

摘要: 本章的内容主要解决下面几个问题:1 equals() 的作用是什么?2 equals() 与 == 的区别是什么?3 hashCode() 的作用是什么?4 hashCode() 和 equals() 之间有什么联系?第1部分 equals() 的作用equals() 的作用是 用来判断两个对象是否相等。equals() 定义在JDK的Object.java中。通过判断两个对象的地址是否相等(即,是否是同一个对象)来区分它们是否相等。源码如下:public boolean equals(Object obj) { return (this == obj);}既然Object.java中定... 阅读全文
posted @ 2013-09-27 09:17 如果天空不死 阅读(210168) 评论(50) 推荐(173) 编辑
 

2013年9月26日

摘要: 本文,先介绍Comparable 和Comparator两个接口,以及它们的差异;接着,通过示例,对它们的使用方法进行说明。Comparable 简介Comparable 是排序接口。若一个类实现了Comparable接口,就意味着“该类支持排序”。 即然实现Comparable接口的类支持排序,假设现在存在“实现Comparable接口的类的对象的List列表(或数组)”,则该List列表(或数组)可以通过 Collections.sort(或 Arrays.sort)进行排序。此外,“实现Comparable接口的类的对象”可以用作“有序映射(如TreeMap)”中的键或“有序集合(Tre 阅读全文
posted @ 2013-09-26 09:36 如果天空不死 阅读(99788) 评论(14) 推荐(48) 编辑
 

2013年9月25日

摘要: 概要这一章,我们对Iterator和Enumeration进行比较学习。内容包括:第1部分 Iterator和Enumeration区别第2部分 Iterator和Enumeration实例转载请注明出处:http://www.cnblogs.com/skywang12345/admin/EditPosts.aspx?postid=3311275第1部分 Iterator和Enumeration区别在Java集合中,我们通常都通过 “Iterator(迭代器)” 或 “Enumeration(枚举类)” 去遍历集合。今天,我们就一起学习一下它们之间到底有什么区别。我们先看看 Enumerati 阅读全文
posted @ 2013-09-25 09:25 如果天空不死 阅读(25391) 评论(4) 推荐(15) 编辑
 

2013年9月24日

摘要: 概要学完了Map的全部内容,我们再回头开开Map的框架图。本章内容包括:第1部分 Map概括第2部分 HashMap和Hashtable异同第3部分 HashMap和WeakHashMap异同转载请注明出处:http://www.cnblogs.com/skywang12345/admin/EditPosts.aspx?postid=3311126第1部分 Map概括(01) Map 是“键值对”映射的抽象接口。(02) AbstractMap 实现了Map中的绝大部分函数接口。它减少了“Map的实现类”的重复编码。(03) SortedMap 有序的“键值对”映射接口。(04) Naviga 阅读全文
posted @ 2013-09-24 09:11 如果天空不死 阅读(49836) 评论(4) 推荐(20) 编辑
 

2013年9月23日

摘要: 概要这一章,我们对TreeMap进行学习。我们先对TreeMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用TreeMap。内容包括:第1部分 TreeMap介绍第2部分 TreeMap数据结构第3部分 TreeMap源码解析(基于JDK1.6.0_45)第4部分 TreeMap遍历方式第5部分 TreeMap示例转载请注明出处:http://www.cnblogs.com/skywang12345/admin/EditPosts.aspx?postid=3310928第1部分 TreeMap介绍TreeMap 简介TreeMap 是一个有序的key-value集合,它是通过红黑 阅读全文
posted @ 2013-09-23 09:16 如果天空不死 阅读(191639) 评论(11) 推荐(51) 编辑
 

2013年9月21日

摘要: 概要前一章,我们学习了HashMap。这一章,我们对Hashtable进行学习。我们先对Hashtable有个整体认识,然后再学习它的源码,最后再通过实例来学会使用Hashtable。第1部分 Hashtable介绍第2部分 Hashtable数据结构第3部分 Hashtable源码解析(基于JDK1.6.0_45)第4部分 Hashtable遍历方式第5部分 Hashtable示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3310887.html第1部分 Hashtable介绍Hashtable 简介和HashMap一样,Hashtable 阅读全文
posted @ 2013-09-21 16:15 如果天空不死 阅读(76758) 评论(10) 推荐(12) 编辑
 

2013年9月19日

摘要: 概要这一章,我们对HashMap进行学习。我们先对HashMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用HashMap。内容包括:第1部分 HashMap介绍第2部分 HashMap数据结构第3部分 HashMap源码解析(基于JDK1.6.0_45) 第3.1部分 HashMap的“拉链法”相关内容 第3.2部分 HashMap的构造函数 第3.3部分 HashMap的主要对外接口 第3.4部分 HashMap实现的Cloneable接口 第3.5部分 HashMap实现的Serializable接口第4部分 HashMap遍历方式第5部分 HashMap示例转载... 阅读全文
posted @ 2013-09-19 08:21 如果天空不死 阅读(327084) 评论(31) 推荐(139) 编辑
 

2013年9月18日

摘要: 概要前面,我们学完了List的全部内容(ArrayList, LinkedList, Vector, Stack)。Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例Java 集合系列04之 fail-fast总结(通过ArrayList来说明fail-fast的原理、解决办法)Java 集合系列05之 LinkedList详细介绍(源码解析)和使用示例Java 集合系列06之 Vector详细介绍(源码解析)和使用示例Java 集合系列07之 Stack详细介绍(源码解析)和使用示例现在,我们再回头看看总结一下List。内容包括:第1部分 List概括第2部分 Lis 阅读全文
posted @ 2013-09-18 09:23 如果天空不死 阅读(70943) 评论(9) 推荐(20) 编辑
 

2013年9月17日

摘要: 概要前面,我们已经学习了ArrayList,并了解了fail-fast机制。这一章我们接着学习List的实现类——LinkedList。和学习ArrayList一样,接下来呢,我们先对LinkedList有个整体认识,然后再学习它的源码;最后再通过实例来学会使用LinkedList。内容包括:第1部分 LinkedList介绍第2部分 LinkedList数据结构第3部分 LinkedList源码解析(基于JDK1.6.0_45)第4部分 LinkedList遍历方式第5部分 LinkedList示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3 阅读全文
posted @ 2013-09-17 08:35 如果天空不死 阅读(141528) 评论(20) 推荐(41) 编辑
 

2013年9月16日

摘要: 概要前面,我们已经学习了ArrayList。接下来,我们以ArrayList为例,对Iterator的fail-fast机制进行了解。内容包括::1 fail-fast简介2 fail-fast示例3 fail-fast解决办法4fail-fast原理5 解决fail-fast的原理转载请注明出处:http://www.cnblogs.com/skywang12345/p/3308762.html1 fail-fast简介fail-fast 机制是java集合(Collection)中的一种错误机制。当多个线程对同一个集合的内容进行操作时,就可能会产生fail-fast事件。例如:当某一个线程 阅读全文
posted @ 2013-09-16 09:12 如果天空不死 阅读(37026) 评论(20) 推荐(29) 编辑
 

2013年9月15日

摘要: 下面是最近总结的Java集合(JDK1.6.0_45)相关文章的目录。01.Java 集合系列01之 总体框架02.Java 集合系列02之 Collection架构03.Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例04.Java 集合系列04之 fail-fast总结(通过ArrayList来说明fail-fast的原理、解决办法)05.Java 集合系列05之 LinkedList详细介绍(源码解析)和使用示例06.Java 集合系列06之 Vector详细介绍(源码解析)和使用示例07.Java 集合系列07之 Stack详细介绍(源码解析)和使用示例08. 阅读全文
posted @ 2013-09-15 20:01 如果天空不死 阅读(119471) 评论(26) 推荐(126) 编辑
 
摘要: 概要这一章,我们对TreeSet进行学习。我们先对TreeSet有个整体认识,然后再学习它的源码,最后再通过实例来学会使用TreeSet。内容包括:第1部分 TreeSet介绍第2部分 TreeSet数据结构第3部分 TreeSet源码解析(基于JDK1.6.0_45)第4部分 TreeSet遍历方式第5部分 TreeSet示例转载请注明出处:http://www.cnblogs.com/skywang12345/admin/EditPosts.aspx?postid=3311268第1部分 TreeSet介绍TreeSet简介TreeSet 是一个有序的集合,它的作用是提供有序的Set集合。 阅读全文
posted @ 2013-09-15 19:53 如果天空不死 阅读(58265) 评论(2) 推荐(19) 编辑
 
摘要: 概要这一章,我们对HashSet进行学习。我们先对HashSet有个整体认识,然后再学习它的源码,最后再通过实例来学会使用HashSet。内容包括:第1部分 HashSet介绍第2部分 HashSet数据结构第3部分 HashSet源码解析(基于JDK1.6.0_45)第4部分 HashSet遍历方式第5部分 HashSet示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3311252.html第1部分 HashSet介绍HashSet 简介HashSet 是一个没有重复元素的集合。它是由HashMap实现的,不保证元素的顺序,而且HashSet 阅读全文
posted @ 2013-09-15 19:51 如果天空不死 阅读(35415) 评论(5) 推荐(23) 编辑
 
摘要: 前面,我们已经系统的对List和Map进行了学习。接下来,我们开始可以学习Set。相信经过Map的了解之后,学习Set会容易很多。毕竟,Set的实现类都是基于Map来实现的(HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的)。首先,我们看看Set架构。(01) Set 是继承于Collection的接口。它是一个不允许有重复元素的集合。(02) AbstractSet 是一个抽象类,它继承于AbstractCollection,AbstractCollection实现了Set中的绝大部分函数,为Set的实现类提供了便利。(03) HastSet 和 TreeS 阅读全文
posted @ 2013-09-15 19:50 如果天空不死 阅读(12216) 评论(0) 推荐(8) 编辑
 
摘要: 概要这一章,我们对WeakHashMap进行学习。我们先对WeakHashMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用WeakHashMap。第1部分 WeakHashMap介绍第2部分 WeakHashMap数据结构第3部分 WeakHashMap源码解析(基于JDK1.6.0_45)第4部分 WeakHashMap遍历方式第5部分 WeakHashMap示例转载请注明出处:http://www.cnblogs.com/skywang12345/admin/EditPosts.aspx?postid=3311092第1部分 WeakHashMap介绍WeakHashMap 阅读全文
posted @ 2013-09-15 19:49 如果天空不死 阅读(32154) 评论(6) 推荐(11) 编辑
 
摘要: 概要前面,我们已经系统的对List进行了学习。接下来,我们先学习Map,然后再学习Set;因为Set的实现类都是基于Map来实现的(如,HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的)。首先,我们看看Map架构。如上图:(01) Map 是映射接口,Map中存储的内容是键值对(key-value)。(02) AbstractMap 是继承于Map的抽象类,它实现了Map中的大部分API。其它Map的实现类可以通过继承AbstractMap来减少重复编码。(03) SortedMap 是继承于Map的接口。SortedMap中的内容是排序的键值对,排序的方法是 阅读全文
posted @ 2013-09-15 19:40 如果天空不死 阅读(23245) 评论(7) 推荐(22) 编辑
 
摘要: 概要学完Vector了之后,接下来我们开始学习Stack。Stack很简单,它继承于Vector。学习方式还是和之前一样,先对Stack有个整体认识,然后再学习它的源码;最后再通过实例来学会使用它。内容包括:第1部分 Stack介绍第2部分 Stack源码解析(基于JDK1.6.0_45)第3部分 ... 阅读全文
posted @ 2013-09-15 19:38 如果天空不死 阅读(51472) 评论(5) 推荐(30) 编辑
 
摘要: 概要学完ArrayList和LinkedList之后,我们接着学习Vector。学习方式还是和之前一样,先对Vector有个整体认识,然后再学习它的源码;最后再通过实例来学会使用它。第1部分 Vector介绍第2部分 Vector数据结构第3部分 Vector源码解析(基于JDK1.6.0_45)第4部分 Vector遍历方式第5部分 Vector示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3308833.html第1部分 Vector介绍Vector简介 Vector 是矢量队列,它是JDK1.0版本添加的类。继承于AbstractList 阅读全文
posted @ 2013-09-15 19:37 如果天空不死 阅读(93427) 评论(15) 推荐(36) 编辑
 
摘要: 概要上一章,我们学习了Collection的架构。这一章开始,我们对Collection的具体实现类进行讲解;首先,讲解List,而List中ArrayList又最为常用。因此,本章我们讲解ArrayList。先对ArrayList有个整体认识,再学习它的源码,最后再通过例子来学习如何使用它。内容包括:第1部分 ArrayList简介第2部分 ArrayList数据结构第3部分 ArrayList源码解析(基于JDK1.6.0_45)第4部分 ArrayList遍历方式第5部分 toArray()异常第6部分 ArrayList示例转载请注明出处:http://www.cnblogs.com/ 阅读全文
posted @ 2013-09-15 19:33 如果天空不死 阅读(182445) 评论(44) 推荐(90) 编辑
 
摘要: Java集合是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Java集合工具包位置是java.util.*Java集合主要可以划分为4个部分:List列表、Set集合、Map映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections)、。Java集合工具包框架图(如下):大致说明:看上面的框架图,先抓住它的主干,即Collection和Map。1 Collection是一个接口,是高度抽象出来的集合,它包含了集合的基本操作和属性。 Collection包含了List和Set两大分支。 (01) List是一个有序的 阅读全文
posted @ 2013-09-15 19:31 如果天空不死 阅读(56188) 评论(15) 推荐(111) 编辑
 
摘要: 概要首先,我们对Collection进行说明。下面先看看Collection的一些框架类的关系图:Collection是一个接口,它主要的两个分支是:List 和 Set。List和Set都是接口,它们继承于Collection。List是有序的队列,List中可以有重复的元素;而Set是数学概念中的集合,Set中没有重复元素!List和Set都有它们各自的实现类。为了方便,我们抽象出了AbstractCollection抽象类,它实现了Collection中的绝大部分函数;这样,在Collection的实现类中,我们就可以通过继承AbstractCollection省去重复编码。Abstra 阅读全文
posted @ 2013-09-15 19:31 如果天空不死 阅读(36185) 评论(14) 推荐(77) 编辑
 

2013年9月10日

摘要: 转载自: 白话算法(6) 散列表(Hash Table) 从理论到实用(下) 【澈丹,我想要个钻戒。】【小北,等等吧,等我再修行两年,你把我烧了,舍利子比钻戒值钱。】 ——自扯自蛋 无论开发一个程序还是谈一场恋爱,都差不多要经历这么4个阶段: 1)从零开始。没有束缚的轻松感。似乎拥有无限的可能性,也有相当多的不确定,兴奋、紧张和恐惧。 2)从无到有。无从下手的感觉。一步一坎,进展缓慢。走弯路,犯错,投入很多产出很少。目标和现实之间产生强大的张力。疑惑、挫败、焦急和不甘心。 3)渐入佳境。快速成长。创新,充实,满足。但是在... 阅读全文
posted @ 2013-09-10 12:01 如果天空不死 阅读(7163) 评论(4) 推荐(2) 编辑
 
摘要: 转载自:白话算法(6) 散列表(Hash Table)从理论到实用(中) 不用链接法,还有别的方法能处理碰撞吗?扪心自问,我不敢问这个问题。链接法如此的自然、直接,以至于我不敢相信还有别的(甚至是更好的)方法。推动科技进步的人,永远是那些敢于问出比外行更天真、更外行的问题,并且善于运用丰富的想象力找到新的可能性,而且有能力运用科学的方法实践的人。 如果可以不用链表,把节省下来的链表的指针所占用的空间用作空槽,就可以减少碰撞的机会,提高查找速度。使用开放寻址法处理碰撞 不用额外的链表,以及任何其它额外的数据结构,就只用一个数组,在发生碰撞的时候怎么办呢?答案只能是,再找另一个空着的槽啦!这... 阅读全文
posted @ 2013-09-10 12:00 如果天空不死 阅读(7804) 评论(0) 推荐(10) 编辑
 
摘要: 转载自:白话算法(6) 散列表(Hash Table)从理论到实用(上) 处理实际问题的一般数学方法是,首先提炼出问题的本质元素,然后把它看作一个比现实无限宽广的可能性系统,这个系统中的实质关系可以通过一般化的推理来论证理解,并可归纳成一般公式,而这个一般公式适用于任何特殊情况。 ——R.A. Fisher 在一个解决方案的复杂性之中,理论或者概念的部分通常只占有限的一小部分。理论无法做实际的工作——否则它也不成其为理论了。从理论到实用,需要经过一系列的发明。从实用到更加实用、更加通用,往往需要增加更多的复杂性。有... 阅读全文
posted @ 2013-09-10 11:57 如果天空不死 阅读(22977) 评论(3) 推荐(16) 编辑
 

2013年8月17日

摘要: Android 之窗口小部件高级篇--App Widget 之 RemoteViews 在之前的一篇博文(Android 之窗口小部件详解--App Widget)中,已经介绍了App Widget的基本用法和简单实例。这篇主要讲解 App Widget 的高级内容,即通过 RemoteViews 去管理Widget的中GridView、ListView、StackView等内容。在学习本篇之前,建议读者先掌握 App Widget 的基本知识。1 RemoteViews等相关类的介绍下面先简单介绍RemoteViews、RemoteViewsService、RemoteViewsFactor 阅读全文
posted @ 2013-08-17 19:27 如果天空不死 阅读(20033) 评论(0) 推荐(5) 编辑
 
摘要: Android控件之GridView1 GridView介绍GridView是网格视图,它按照行列的方式来显示内容的。常用于九宫格内容显示。1.1 GridView属性说明android:columnWidth设置列的宽度。android:gravity设置此组件中的内容在组件中的位置。可选的值有:top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical可以多选,用“|”分开。android:horizontalSpacing两列 阅读全文
posted @ 2013-08-17 00:00 如果天空不死 阅读(9447) 评论(1) 推荐(2) 编辑
 

2013年8月13日

摘要: 概要目录1 红黑树的介绍2 红黑树的应用3 红黑树的时间复杂度和相关证明4 红黑树的基本操作(一) 左旋和右旋5 红黑树的基本操作(二) 添加6 红黑树的基本操作(三) 删除 作者:Sky Wang 于 2013-08-08 概述:R-B Tree,又称为“红黑树”。... 阅读全文
posted @ 2013-08-13 22:59 如果天空不死 阅读(801666) 评论(107) 推荐(134) 编辑