Java 有没有一种方法可以返回组合为一个对象的一组对象?

Java 有没有一种方法可以返回组合为一个对象的一组对象?,java,Java,我有一个对象列表,这些对象是间隔,例如[2-10]。左端总是小于右端,开始

我有一个对象列表,这些对象是间隔,例如[2-10]。左端总是小于右端,开始<结束

现在假设我计算区间的并集, 像[2-9]和[10-12]一样,我希望将[2-9,10-12]作为单个对象返回

是否有任何方法可以仅使用interval对象列表返回interval实例


此外,非数字字符是根据我的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]