Java内置排序算法

数据模型

public class Element implements Comparable<Element> {
    
    
	
	/**
	 * 若e1.compareTo(e2) > 0,则e1 > e2
	 * 若e1.compareTo(e2) = 0,则e1 = e2
	 * 若e1.compareTo(e2) < 0,则e1 < e2
	 */
	@Override
	public int compareTo(Element e) {
    
    
		// TODO Auto-generated method stub
		return 0;
	}
}
import java.util.Comparator;

public class Comparators implements Comparator<Element> {
    
    
	
	/**
	 * 若compareTo(e1, e2) > 0,则e1 > e2
	 * 若compareTo(e1, e2) = 0,则e1 = e2
	 * 若compareTo(e1, e2) < 0,则e1 < e2
	 */
	@Override
	public int compare(Element e1, Element e2) {
    
    
		// TODO Auto-generated method stub
		return 0;
	}
}

利用Comparable接口实现排序

  • Arrays.sort(T[] a);

    • 适用于数组的排序。
    • 数组中的元素可以是基本数据类型的数据,也可以是任何实现了Comparable<T>接口的类T
  • Collections.sort(List<T> list);

    • 适用于List集合的排序。
    • List集合中的元素可以是任何实现了Comparable<T>接口的类T(不允许是基本数据类型的数据)

利用Comparator接口实现排序

  • Arrays.sort(T[] a, Comparator<T> c);

    • 适用于数组的排序。
    • 数组中的元素可以是任何的类T(不允许是基本数据类型的数据),但必须另外有一个比较器类来实现Comparator<T>接口。
  • Collections.sort(List<T> list, Comparator<T> c);

    • 适用于List集合的排序。
    • List集合中的元素可以是任何的类T(不允许是基本数据类型的数据),但必须另外有一个比较器类来实现Comparator<T>接口。

猜你喜欢

转载自blog.csdn.net/chuanyu2001/article/details/113818083