当前位置: 首页 > news >正文

自定义比较器

package org.jeecg.modules.develop.api.livePort;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

// 创建一个泛型类
class MyObject {
private T data;

public MyObject(T data) {this.data = data;
}public T getData() {return data;
}

}

// 创建一个泛型比较器
class MyComparator<T extends Comparable> implements Comparator<MyObject> {
@Override
public int compare(MyObject obj1, MyObject obj2) {
return obj2.getData().compareTo(obj1.getData());
}
}

class Main {
public static void main(String[] args) {
List<MyObject> numbers = new ArrayList<>();
numbers.add(new MyObject<>(5));
numbers.add(new MyObject<>(2));
numbers.add(new MyObject<>(7));
numbers.add(new MyObject<>(10));
numbers.add(new MyObject<>(3));

    // 使用自定义泛型比较器对对象列表进行排序Collections.sort(numbers, new MyComparator<>());// 打印排序后的结果for (MyObject<Integer> obj : numbers) {System.out.println(obj.getData());}
}

}

http://www.lryc.cn/news/259066.html

相关文章:

  • 【NLP】如何管理大型语言模型 (LLM)
  • 利用机器学习实现客户细分的实战
  • Tair(4):Tair原理架构
  • SAP UI5 walkthrough step7 JSON Model
  • 智能检测/摄像头监控系统EasyCVR无法启动进程是什么原因?如何解决?
  • export命令详解
  • 十几个软件测试实战项目【外卖/医药/银行/电商/金融】
  • 用python打印出菱形图案
  • k8s 中externalTrafficPolicy应用场景和实践
  • Selenium自动化测试框架(超详细)
  • 蚂蚁SEO实用的网络baidu蜘蛛有哪些
  • 滑动窗口如人生,回顾往事不复还———力扣刷题
  • VM实现方式及其优缺点
  • MySQL——库,表基础操作
  • 文件批量管理方法:100个文件要怎样快速放在100个指定的文件夹中
  • 管理的五大过程和十大知识领域
  • C/C++ 快乐数: 编写一个算法来判断一个数n是不是快乐数
  • 【后端】JVM 远程调试
  • Android Studio中配置Flutter插件,创建小项目“hello world”
  • BabylonJS(一) 前言-为什么想写这个系列
  • 论文阅读_反思模型_Reflexion
  • Redis 数据结构:高频面试题及解析
  • 蓝桥杯小白赛第一场(1~6)(期望DP)
  • 房贷背后数学陷阱-蒙特卡洛算法Monte Carlo揭秘断供为何越来越多(硬核收藏)
  • spingboot项目实战之若依框架创建新模块
  • 智能优化算法应用:基于飞蛾扑火算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • 3分钟,掌握“曲面屏显示屏”
  • 光栅化渲染:光栅化算法实现
  • Python-Opencv图像处理的小坑
  • [LCTF 2018]bestphp‘s revenge