排序的两种方法

如果ADT需要比较大小,或者要放入Collections或Arrays进行排序,可实现Comparator接口并override compare()函数。

第一种:

构建一个新的Comparator类,重写compare()函数,在客户端直接调用静态函数Collections.sort(XXX,新的Comparator类)

代码示例:

需要比较Edge类:


构建一个新的Comparator类EdgeComparator:

客户端实现比较函数时:

第二种方法:

让ADT 实现Comparable 接口,然后override compareTo() 方法。

与使用Comparator的区别:不需要构建新的Comparator类,比较代码放在ADT内部。

代码示例:



猜你喜欢

转载自blog.csdn.net/zqxhit1234/article/details/80781636