Java 有没有一种方法可以返回组合为一个对象的一组对象?
我有一个对象列表,这些对象是间隔,例如[2-10]。左端总是小于右端,开始<结束 现在假设我计算区间的并集, 像[2-9]和[10-12]一样,我希望将[2-9,10-12]作为单个对象返回 是否有任何方法可以仅使用interval对象列表返回interval实例Java 有没有一种方法可以返回组合为一个对象的一组对象?,java,Java,我有一个对象列表,这些对象是间隔,例如[2-10]。左端总是小于右端,开始
此外,非数字字符是根据我的toString方法生成的,不要将其作为对象本身的一部分混淆。我建议为Intervalionon类使用一种新的结构,它可以处理多个起点和终点 警告:此实现不正确。此实现将清空要合并的两个间隔。如果[1,4]和[2,6]联合,则无法获得预期结果[1,6] 输出: [1-2,4-5,7-9]一旦您获得了您的Intervalions列表,您就可以使用已经实现的toString方法根据需要打印它。打印列表将像
public static void main(String... args) throws InterruptedException {
List<MyInterval> myList = new ArrayList<>();
myList.add(new MyInterval(5, 10));
myList.add(new MyInterval(20, 30));
System.out.println(myList.toString());
}
static class MyInterval {
int x, y;
MyInterval(int x, int y) {
this.x = x;
this.y = y;
}
@Override
public String toString() {
return x + "-" + y;
}
}
因此,这完全符合要求。现在将MyInterval与组合的interval并集交换,您就完成了。为什么不返回数据结构中不同的Intervalionon对象,例如数组或ArrayList?您的意思是类似于返回列表?我只能返回一个对象,我只是想知道如何将这两个对象[2-9]和[10-12]组合起来,作为[2-9,10-12]。生成的新对象稍后将用作我的类This的实例。用于与其他对象一起计算并集,但List也是一个对象。@javaWorld dude,如果您使toString像x-y一样打印间隔,那么ArrayListString将给您[el1.toString,el2.toString…]生成您想要的结果
public static void main(String... args) throws InterruptedException {
List<MyInterval> myList = new ArrayList<>();
myList.add(new MyInterval(5, 10));
myList.add(new MyInterval(20, 30));
System.out.println(myList.toString());
}
static class MyInterval {
int x, y;
MyInterval(int x, int y) {
this.x = x;
this.y = y;
}
@Override
public String toString() {
return x + "-" + y;
}
}
[5-10, 20-30]