程序逻辑与算法完结(心得篇)(未完)

首先说一下自己的一些思考吧,最近边复习考试边学习有很多东西没有及时记录下来,今天考完试正好来回忆一下:

首先,自己对于Comparable接口作用的感想,最近学习了很多排序算法,发现其中很多排序算法都是用到了一个固定的API就是

程序逻辑与算法完结(心得篇)(未完)

你会发现他使用的次数最多然后我还有一个疑惑就是这个Comparable接口,第一次接触,很好奇他是干什么用的,通过查找资料发现,这个接口其实就是sort方法的本质,我们在使用sort方法然后点击进去以后查看源码就会发现这个

public final class String
implements Serializable, Comparable, CharSequence{
    ...
}

显而易见,sort也实现了这个接口,但是sort我们知道只是对于数组排序,但是这个Comparable接口却是一个泛型,所以说我们可以通过调用Comparable的接口,实现自己更多的功能。顺带介绍一下这个接口里面只有一个comparable.to,用于作比较并且返回0,-1,1三个值,但是如果是字符串的话就是返回字符串的长度差,这里我们可以选择通过查看源码的方式发现:

首先,写一个测试类程序逻辑与算法完结(心得篇)(未完)

然后我们叫鼠标放到compareTo后点击ctrl同时左击鼠标进入这个接口:

程序逻辑与算法完结(心得篇)(未完)

然后ctrl+f查找compareTo记得T要大写程序逻辑与算法完结(心得篇)(未完)

然后我们就可以显而易见的看懂这个方法,然后我们测一下字符串:

 String str1 = "Strings";
            String str2 = "Strings";
            String str3 = "Strings123";

            int result = str1.compareTo( str2 );
            System.out.println(result);

            result = str2.compareTo( str3 );
            System.out.println(result);

            result = str3.compareTo( str1 );
            System.out.println(result);

结果:程序逻辑与算法完结(心得篇)(未完)

同样的方式进入源码:程序逻辑与算法完结(心得篇)(未完)

我们可以看到和刚刚进入看到的不太一样,这里是字符串的实现方法,也是可以一下子看明白滴!

分割线·························································································

说一下第二个就是自己最近实现的单链表:

上一篇:MVP ComCamp & GCR MVP Openday 2014


下一篇:成为一个高级java架构师所需要具备那些技能呢?