定制排序的一个例子
来源:互联网 发布:精雕软件视频教程 编辑:程序博客网 时间:2024/05/14 07:48
各种原理还不是很懂。先上代码:(下午研究下)
import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.Scanner;import antlr.collections.List;public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { int num = sc.nextInt(); ArrayList<time> li = new ArrayList<time>(num); for (int i = 0;i < num;i++) { li.add(new time(true,sc.nextInt())); li.add(new time(false,sc.nextInt())); } Collections.sort(li); System.out.println(li); } }}class time implements Comparable<time>{ boolean flag = false; int timeValue = 0; public time(boolean fg,int value) { this.flag = fg; this.timeValue = value; } @Override public String toString() { return "时间"+flag+"时间值"+timeValue; } public int com(time o) { if (timeValue > o.timeValue) { return 1; } else if(timeValue == o.timeValue && (flag == false && o.flag == true)) { return 1; } else if (timeValue == o.timeValue && (flag == true && o.flag == false)) { return -1; } else if (timeValue == o.timeValue && (o.flag == flag)) { return 0; } else { return -1; } } @Override public int compareTo(time o) { // TODO Auto-generated method stub return com(o); }}
运行结果如下:
3
1 3
2 3
3 4
[时间true时间值1, 时间true时间值2, 时间true时间值3, 时间false时间值3, 时间false时间值3, 时间false时间值4]
阅读全文
0 0
- 定制排序的一个例子
- 一个自定制异常类的例子
- 冒泡排序的一个例子
- 从一个失败的例子看dojo widget的定制
- 一个关于委托的例子(排序)
- 自定义规则排序数组的一个例子
- 一个java 冒泡排序的例子
- 一个快速排序的小例子
- TreeSet的定制排序
- 定制的一个仪表盘
- 【java】TreeSet的定制排序
- 自己写的归并排序算法的一个小例子
- 一个实现下拉列表内汉字内容排序的例子
- 全排序算法解决逻辑问题的一个例子
- php中一个“冒泡排序”的小例子
- 关于一个可见性和指令重排序的例子
- TreeSet的自然排序和定制排序
- 编写一个定制的Mailet
- javaweb第一次
- Leetcode 由易入难 389. Find the Difference
- spring整体架构
- background-size 兼容ie8
- Yii
- 定制排序的一个例子
- Laravel 安装代码智能提示扩展「laravel-ide-helper」
- 字节流与字符流的区别细谈
- [剑指offer]合并两个排序的链表
- C语言 数组
- Struts2入门——基础详解
- Android监听手机返回键
- jeesite项目学习(三)前台界面开发及展示
- EditText 屏蔽选择、复制、粘贴等一切剪切板的操作