gpt4 book ai didi

java - java中的排序间隔

转载 作者:行者123 更新时间:2023-12-01 12:28:14 31 4
gpt4 key购买 nike

我以输入文件的形式给出时间间隔。

INPUT FILE
2 3 //First start time and second one end time
5 6
9 11
3 10

我想根据开始时间的基础对间隔进行排序,即

(2,3) , (3,10) ,(5,6) ,(9,11)

我必须为此构建一个结构吗?或者可以直接完成。我的做法:

class Interval implements Comparable<Interval>{

private int start , end;
public Interval(int start , int end){
this.start = start;
this.end = end;
}
public int compareTo(Interval o) {
// TODO Auto-generated method stub
if(o==null)
return -1;
return start-o.start;
}


}

我没有得到它的输出。
有没有更好的方法请帮助我。

最佳答案

compareTo() 方法没有问题。看来你不知道如何使用它。你应该这样使用它。

public class Interval implements Comparable<Interval>{
private int start , end;
public Interval(int start , int end){
this.start = start;
this.end = end;
}
public int compareTo(Interval o) {
if(o==null)
return -1;
return start-o.start;
}
@Override
public String toString() {
return "Interval{" +
"start=" + start +
", end=" + end +
'}';
}
}

现在如何使用?

  Interval interval1 = new Interval(2, 3);
Interval interval2 = new Interval(5, 6);
Interval interval3 = new Interval(9, 11);
Interval interval4 = new Interval(3, 10);

List<Interval> list = new ArrayList<>();
list.add(interval1);
list.add(interval2);
list.add(interval3);
list.add(interval4);

System.out.println(list);
Collections.sort(list);
System.out.println(list);

输出:

  [Interval{start=2, end=3}, Interval{start=5, end=6}, Interval{start=9, end=11}, Interval{start=3, end=10}]
[Interval{start=2, end=3}, Interval{start=3, end=10}, Interval{start=5, end=6}, Interval{start=9, end=11}]

关于java - java中的排序间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26159630/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com