【问题标题】:Android Collections.min NoSuchElementExceptionAndroid Collections.min NoSuchElementException
【发布时间】:2015-10-16 03:20:57
【问题描述】:

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

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

当我运行它时,我得到这个错误:

最有趣的是我有相同的 sn-ps,它们出现在不同的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++;
    }

【问题讨论】:

    标签: javascript android list arraylist collections


    【解决方案1】:

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

    NoSuchElementException - 如果集合为空

    即:您的yUpper Arraylist 为空:

    Collections.min(YUpper)
    

    它是空的,因为你从来没有进入那个 while 循环:

        while(Classified != 6){
    

    因为classified 是 0

    样式注释:对变量和方法使用 camelCase。这就是 Java 代码的编写方式。不是MyVar,而是myVar。 Java 人更容易阅读。

    【讨论】:

    • 你是对的。我以前怎么看不到这个?谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-11
    • 2018-09-10
    • 1970-01-01
    • 2016-04-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多