Android Collections.min NoSuchElementException

时间:2015-07-25 14:50:11

标签: javascript android list arraylist collections

现在,我有一个包含这段代码的程序:

if(Highest6.y == 0){
    if(G.y == Collections.min(YUpper) && !notdone){     Highest6 = G;    YUpper.remove(Integer.valueOf(G.y));   notdone = true;}
}

当我运行它时,我收到此错误: enter image description here

最有趣的是我有相同的片段,它出现在不同的HighestX.y语句中(我有六个)。而这个错误只发生在最后一个错误中。谁知道为什么会这样?提前致谢。

这是我的清单代码:

 List<Integer> YPoint = new java.util.ArrayList(Arrays.asList(A.y, B.y, C.y, D.y, E.y, F.y, G.y, K.y, Q.y, L.y, M.y, N.y));
        List<Integer> YUpper = new java.util.ArrayList(Arrays.asList());
int Classified = 0;
    int Highest = 0;


    while(Classified != 6){
        Highest = Collections.min(YPoint);
        YPoint.remove(Integer.valueOf(Highest));
        YUpper.add(Integer.valueOf(Highest));
        Classified++;
    }

1 个答案:

答案 0 :(得分:1)

我认为问题是你的收藏是空的。从documentation of Collections min返回:

  

NoSuchElementException - 如果集合为空

那就是:你的yUpper Arraylist是空的:

Collections.min(YUpper)

它是空的,因为你永远不会进入while循环:

    while(Classified != 6){

由于classified为0

样式注释:将camelCase用于变量&amp;方法。这就是编写Java代码的方式。不是MyVar,而是myVar。阅读Java人员更容易。