天天看点

java编程排序之内置引用类型的排序规则实现,和自定义规则实现+冒泡排序运用

第一种排序:【冒泡排序】基本数据类型的排序。

【1】最简易的冒泡排序。效率低。因为比较的次数和趟数最多。

java编程排序之内置引用类型的排序规则实现,和自定义规则实现+冒泡排序运用
java编程排序之内置引用类型的排序规则实现,和自定义规则实现+冒泡排序运用

View Code

【2】进行一次优化的冒泡排序。减少每趟的比较次数。

java编程排序之内置引用类型的排序规则实现,和自定义规则实现+冒泡排序运用
java编程排序之内置引用类型的排序规则实现,和自定义规则实现+冒泡排序运用

【3】进行最终的优化。减少比较的趟数和次数

java编程排序之内置引用类型的排序规则实现,和自定义规则实现+冒泡排序运用
java编程排序之内置引用类型的排序规则实现,和自定义规则实现+冒泡排序运用

break,continu,return的区别:

break---->用于终止break所在的本层循环,对本层循环后边同层相邻的代码无影响,会执行后边的代码。

continu-->用于暂停本次循环,不执行continu后边循环体内的代码,继续下次循环。

return--->用于返回方法。无论多少层循环,无论处于什么位置,一旦执行到return,则方法终止运行。后边的代码,无论本层,还是他层,一概不执行。

第二种排序:引用数据类型的排序。

 【A】[内置引用类型(String Date Integer等),自定义引用类型]

 实现步骤:(1)实现一个接口。java.lang.Comparable

      (2)重写一个方法public int compareTo(Object obj)

      (3)返回 0 表示 this=obj

        返回 正数 表示this>obj

        返回 负数 表示 this<obj

第一种:常用内置类的比较规则

    [1]Integer --->首先将两个包装类,转换成基本数据类型。然后进行大小比较。

        [2]Character---> 字符类比较规则是:先将两个字符转换成对应的unicode值,然后进行相减。从而比较大小。

        [3]String

            ---->从两个字符串的第一个字符开始,逐个对应字符进行比较,如果遇见字符不同,返回字符的unicode码之差,后边字符不在对比,比较。决定两个字符串的大小。

            ---->如果一个字符串是另一个子符串的起始子字符串,则进行长度差比较。比如:abc.compareTo(abcde)进行比较,返回-2

        [4]Date--->将两个时间都转换成长整形数,然后比较两个数的大小。决定谁大谁小

java编程排序之内置引用类型的排序规则实现,和自定义规则实现+冒泡排序运用
java编程排序之内置引用类型的排序规则实现,和自定义规则实现+冒泡排序运用

 【B】[jdk内置引用类型性,自定义比较规则]

  实现步骤:(1)实现一个接口。java.util.Comparator

      (2)重写一个方法public int compare(String o1, String o2)

      (3)返回 0 表示 o1=o2

        返回 正数 表示o1>o2

        返回 负数 表示 o1<o2

  内置引用类型实现java.lang.Comparable接口定义比较规则和自定义规则实现java.util.Comparator接口的不同之处和区别

java编程排序之内置引用类型的排序规则实现,和自定义规则实现+冒泡排序运用
java编程排序之内置引用类型的排序规则实现,和自定义规则实现+冒泡排序运用

封装的一个排序工具类,结合了冒泡排序和内置类排序规则和自定义排序规则。代码示范

java编程排序之内置引用类型的排序规则实现,和自定义规则实现+冒泡排序运用
java编程排序之内置引用类型的排序规则实现,和自定义规则实现+冒泡排序运用

 java.util包中有一个Collections工具类对list容器进行排序。测试代码。

java编程排序之内置引用类型的排序规则实现,和自定义规则实现+冒泡排序运用
java编程排序之内置引用类型的排序规则实现,和自定义规则实现+冒泡排序运用