Java-BJ

  1. 实现对象的排序,可以考虑两种方法:自然排序、

2.方式一:

实现步骤:

>1具体的类A实现Comparable接口

>2重写Comparable接口中的compareTo(object obj)方法,在此方法中指明比较类A的对象的大小的标准

>3创建类A的多个实例,进行大小的比较或排序。

  1. 方式二,实现Comparato接口的方法

实现步骤:

>1.创建一个实现了Compartor接口的实现类A

>2.实现类A要求重写Comparator接口的抽象方法compare(object o1 ,object o2),在此方法中指明要比较大小的对象的大小关系。(比如,String类,Product类)

>3.创建此类A的现象,并将此对象传入到相关方法的参数位置即可。(比如:Arrays.Sort(...类A的实例))

  1. 对比两种方式

角度一:

自然排序:单一的,唯一的

定制排序:灵活的,多变的

角度二:

自然排序:一劳永逸

定制排序:临时的

角度三:

自然排序:对应的接口是Comparable,对应的抽象方法compareTo(Object pbj)

定制排序:对应的接口是Comparator,对应的抽象方法compare(Object obj1, Object obj2)、

总代码:

package Test0720;

import jdk.jshell.spi.ExecutionControl;

import java.util.Arrays;

public class Comparable {
    public static void main(String[] args) {
        String[] arr = new String[]{"tom", "jerry", "tony", "rose", "jack", "lucy"};

        //排序
        Arrays.sort(arr);

        //遍历
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }

        Product[] arr1 = new Product[5];
        arr1[0] = new Product("huaweip60",6999);
        arr1[1] = new Product("xiaomi13",4999);
        arr1[2] = new Product("vivoX90",5999);
        arr1[3] = new Product("iphone14",9999);
        arr1[4] = new Product("honorMagic4",6299);

        Arrays.sort(arr1);
        //遍历
        for(int i = 0;i

你可能感兴趣的:(java,python,开发语言)