在循环中添加到Treeset

时间:2016-07-12 22:31:18

标签: java arrays sorting treeset

我在尝试为TreeSet的单独分支创建添加点时遇到问题。目前,当我的条件满足时,它会逐一向TreeSet添加点,但将每个点视为一个单独的TreeSet。

E.g。 xCoords包含[29.33]

[29.33,30.12]

[29.33,30.12,31.23]

一旦完成整个循环,它就将所有点添加到单个TreeSet中。这不是我想要的,因为TreeSet应该通过在我的情况下定义为x的集群赋值来创建。

我希望让TreeSet将所有等于相同X的点包含到同一个TreeSet中,并将所有不同的X值包含到它们各自的TreeSet中。我该怎么做才能做到这一点?

      double slope = lineData[0];
                TreeSet<Double> xCoords = new TreeSet<Double>();


                for (int l = 0; l < dataarray.size(); l++){

                    System.out.println("This is point number " + l);


                        if (index >= dataarray.size()) break; 
                        for (int x = 0; x < clusters.size(); x++){
                        if (dataarray.get(l).getCluster() == x){
                            xCoords.add((double)dataarray.get(l).getTemperature()); 
                            //System.out.println("This is the Cluster number " + x);
                            //System.out.println("This is the associated Temperature value " + dataarray.get(l).getTemperature());
                            }
                        }
                        System.out.println();


                System.out.println("This is xCoords");
                System.out.println(xCoords);


                double xleft = xCoords.first();
                double xright = xCoords.last();

                }
                } catch (IOException e) {
                    System.out.println("Unable to open data files");
        } 
    }

0 个答案:

没有答案