java vector根据对象属性进行排序

本文介绍了一个使用Java实现的排序算法示例,通过自定义比较器对包含特定属性的对象集合进行排序。具体展示了如何创建一个Work类,该类具有两个整型属性Pi和Di,以及一个BoxComparator类,用于根据Pi属性的值对Work对象进行比较和排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package ggg;
import java.util.*;
class Work{
  public int Pi;
    public int Di;
Work(int Pi,int Di){
    this.Pi=Pi;
    this.Di=Di;
}
}
class BoxComparator implements Comparator<Work> {
  public int compare(Work a, Work b) {
      if(a.Pi > b.Pi){
          return 1;
      }else if(a.Pi == b.Pi){
          return 0;
      }else{
          return -1;
      }
  }
}
public class Main{
public static void main(String []args)
{
    Scanner sc=new Scanner(System.in);
   Vector <Work>v=new Vector<Work>();
    for(int i=0;i<5;i++)
    {
        int j=sc.nextInt();
        int J=sc.nextInt();
       Work work=new Work(j,J);
        v.add(work);
    }
	  Comparator<Work> cmp =new BoxComparator();
      Collections.sort(v, cmp);
      System.out.println(v.elementAt(0).Pi);
      System.out.println(v.elementAt(1).Pi);
      System.out.println(v.elementAt(2).Pi);
      System.out.println(v.elementAt(3).Pi);
      System.out.println(v.elementAt(4).Pi);
}
}

输入/输出

1 2
3 4
5 6
7 8
9 10
1
3
5
7
9

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值