IComparable<T>:泛型接口

IComparable<T>:泛型接口
public interface IComparable<T>
{
 int CompareTo(T obj);
}


1.功能:实现比较的功能

2.使用步骤:
1)Employee实现IComparable<T>接口
2)在Employee中实现接口的CompareTo()方法
 public int CompareTo(Employee obj)
 {
  //指定两个对象比较的方式
  //return this.name.CompareTo(obj.name);
  //return this.age - obj.age;//升序
             return obj.age - this.age;//降序
 }
3)使用
list.Sort();//将会自动调用以上编写的CompareTo方法

3.缺陷:
此时,实现IComparable<T>接口的
Employee只能拥有一种指定的比较方式

 

 


IComparer<T>:泛型接口
public interface IComparer<T>
{
 int Compare(T x,T y);
 
}


1.功能:实现比较的功能

2.优点:实现多种比较方式

3.使用步骤:
1)自定义的比较器类 实现IComparer<T>接口
2)在 自定义的比较器类中 重写接口的Compare(T x,T y)方法
 public int Compare(T x,T y)
 {
  //指定两个对象比较的方式
   return x.Name.CompareTo(y.Name);
 }

3)使用:在排序时,指定具体的比较器
list.Sort(new 自定义比较器类());

4.优势:
如果想拥有多种比较方式,自定义多个比较器类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值