Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何解决这个树集程序?_Java_Collections_Treeset - Fatal编程技术网

Java 如何解决这个树集程序?

Java 如何解决这个树集程序?,java,collections,treeset,Java,Collections,Treeset,这是一个java问题。我只想问一下,为什么原来的列表中也添加了9 class Test { public static void main(String args[]){ TreeSet<Integer> ts=new TreeSet<Integer>(); ts.add(1); ts.add(8); ts.add(6); ts.add(4); SortedSet<Integer>

这是一个java问题。我只想问一下,为什么原来的列表中也添加了9

class Test {
    public static void main(String args[]){
      TreeSet<Integer> ts=new TreeSet<Integer>();
      ts.add(1);
      ts.add(8);
      ts.add(6);
      ts.add(4);
      SortedSet<Integer> ss = ts.subSet(2, 10);
      ss.add(9);
      System.out.println(ts);
      System.out.println(ss);
  }
}
类测试{
公共静态void main(字符串参数[]){
树集ts=新树集();
ts.add(1);
ts.add(8);
ts.add(6);
ts.add(4);
分拣集ss=ts子集(2,10);
ss.添加(9);
系统输出打印项次(ts);
系统输出打印LN(ss);
}
}

请帮忙

正如Alowaniak在评论中所说,
subset
只返回原始集合的视图,因此更改会反映到两个集合中。报告说:

此集合支持返回的集合,因此返回集合中的更改将反映在此集合中,反之亦然

例如,您可以基于子集创建一个新集合:

Set<Integer> ss = new TreeSet<Integer>(ts.subSet(2, 10));
Set ss=新树集(ts.subSet(2,10));

为了防止这种行为。

正如Alowaniak在注释中所述,
子集
只返回原始集合的视图,因此更改将反映到两个集合中。报告说:

此集合支持返回的集合,因此返回集合中的更改将反映在此集合中,反之亦然

例如,您可以基于子集创建一个新集合:

Set<Integer> ss = new TreeSet<Integer>(ts.subSet(2, 10));
Set ss=新树集(ts.subSet(2,10));
以防止这种行为。

返回原始文件的视图。返回原始视图的视图。