4.泛型接口实例学习

1.首先定义一个泛型接口

此接口用于对数组类型对象进行操作,我们先定义三个方法,分别是:
1)获得数组的最大值
2)获得数组的最小值
3)对数组进行排序

package GenericStudy.Exa136;

public interface Maximum<T extends Comparable<T>> {
    
    
    /**
     * 获得数组最大值
     * @param array
     * @return
     */
    T getMax(T[] array);

    /**
     * 获得数组最小值
     * @param array
     * @return
     */
    T getMin(T[] array);

    /**
     * 对数组进行排序
     * @param array
     * @return
     */
    T[] sorted(T[] array);
}

2.然后,编写泛型接口的一个实现类

实现类会实现接口中的方法,赋予接口具体的功能。

package GenericStudy.Exa136;

public class GenericComparison<T extends Comparable<T>> implements Maximum<T> {
    
    
    
    @Override
    public T getMax(T[] array) {
    
    
        if (array == null || array.length == 0) {
    
    
            return null;
        }
        T max = array[0];
        for (int i = 1; i < array.length; i++) {
    
    
            if (max.compareTo(array[i]) < 0) {
    
    
                max = array[i];
            }
        }
        return max;
    }

    @Override
    public T getMin(T[] array) {
    
    
        if (array == null || array.length == 0) {
    
    
            return null;
        }
        T min = array[0];

        for (int i = 1; i < array.length; i++) {
    
    
            if (min.compareTo(array[i]) > 0) {
    
    
                min = array[i];
            }
        }
        return min;
    }

    @Override
    public T[] sorted(T[] array) {
    
    
        if (array == null || array.length == 0) {
    
    
            return null;
        }
        for (int i = 0; i < array.length; i++) {
    
    
            for(int j=0;j<array.length;j++){
    
    
                if(array[i].compareTo(array[j])<0){
    
    
                    T temp=array[i];
                    array[i]=array[j];
                    array[j]=temp;
                }
            }
        }
        return array;
    }
}

3.最后编写测试方法进行测试

package GenericStudy.Exa136;

public class GenericComparisonTest {
    
    
    public static void main(String[] args) {
    
    
        String[] books = {
    
     "Java从入门到精通(第2版)", "Java编程宝典", "细说Java", "视频学Java" };
        System.out.println("麻子科技新书列表:");
        for (String book : books) {
    
    
            System.out.println(book);
        }
        GenericComparison<String> gc = new GenericComparison<String>();
        System.out.println("按名称排序第一本书:");
        String min=gc.getMin(books);
        System.out.println(min);
        String max = gc.getMax(books);
        System.out.println("按名称排序最后一本书:");
        System.out.println(max);
        String[] result1=gc.sorted(books);
       for(String a:result1){
    
    
           System.out.println(a);
       }

    }
}

运行之
在这里插入图片描述

成功!!

Guess you like

Origin blog.csdn.net/c1776167012/article/details/121743102