摘要: 选择排序效率是冒泡的2倍。冒泡算法描述:在解释冒泡排序算法之前,先来介绍把10个数(放在数组A中)中最大的那个数放在最后位置上的一种算法。算法描述如下:(1)从数组A[1]到A[10],把相临的两个数两两进行比较。即A[1]和A[2]比较,比较完后A[2]再与A[3]比较,……最后是A[9]和A[10]比较。(2)在每次进行比较的过程中,如果前一个数比后一个数大,则对调两个数,也就是说把较大的数调到后面,较小的调到前面。比如在第一次的比较中,如果A[1]比A[2]大则A[1]和A[2]的值就互换。下图用6个数据来说明以上的算法。假设6个数据是:A[]=5 7 4 3 8 6A[1] A[2] 阅读全文
posted @ 2014-03-10 23:42 D.Wang 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 1. HashMap概述:HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。2. HashMap的数据结构:在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,HashMap也不例外。HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。 从上图中可以看出,HashMap底层就是一个数组结构,数组中的每一项又是一个链表。当新建一个HashMap的时候,就会初始化一个数组。 源码如下: 阅读全文
posted @ 2014-03-10 23:14 D.Wang 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 说先我们来看一段示例代码:01 public void start(int interval,final boolean beep) {0203 // Inner Class04 class TimePrinter implements ActionListener {0506 @Override07 public void actionPerformed(ActionEvent event) {08 Date now = new Date();09 System.out.println(“At the tone, the time is “ +... 阅读全文
posted @ 2014-03-10 22:01 D.Wang 阅读(549) 评论(0) 推荐(0) 编辑
摘要: 一个线程对象生成 后,如果要产生一个执行的线程,就一定要调用它的start()方法.在介绍这个方法时不得不同时说明run方法.其实线程对 象的run方法完全是一个接口回调方法,它是你这个线程对象要完成的具体逻辑.简单说你要做什么就你在run中完成,而如何做,什么时候做就不需要你控制 了,你只要调用start()方法,JVM就会管理这个线程对象让它产生一个线程并注册到线程处理系统中。 从表面上看,start()方法调用了run()方法,事实上,start()方法并没有直接调用run方法.在JDK1.5以前 start()方法是本地方法,它如何最终调用run方法已经不是JAVA程序员所能了解的.. 阅读全文
posted @ 2014-03-10 21:41 D.Wang 阅读(1765) 评论(0) 推荐(0) 编辑