确定数组列表是否已排序

catch23

我需要估计数组列表是否已排序(不排序)。

字符串排序后,它们按字母顺序排列。我尝试使用compareTo()方法确定哪个字符串先出现

如果数组列表已排序,则返回true,否则返回false。

代码:

public boolean isSorted()
{
    boolean sorted = true;        
    for (int i = 1; i < list.size(); i++) {
        if (list.get(i-1).compareTo(list.get(i)) != 1) sorted = false;
    }

    return sorted;
}

简单测试:

    ArrayList<String> animals = new ArrayList<String>();
    ArrayListMethods zoo = new ArrayListMethods(animals); 
    animals.add("ape");
    animals.add("dog");
    animals.add("zebra");

    //test isSorted
    System.out.println(zoo.isSorted());
    System.out.println("Expected: true");

    animals.add("cat");
    System.out.println(zoo.isSorted());
    System.out.println("Expected: false");

    animals.remove("cat");
    animals.add(0,"cat");
    System.out.println(zoo.isSorted());
    System.out.println("Expected: false");

    **Output:**
    false
    Expected: true
    false
    Expected: false
    false
    Expected: false

这个简单的测试仅显示1/3覆盖率。

如何解决这个问题。

格里莎·温特劳布(Grisha Weintraub)

您的方法中有一个小错误。应该 :

public boolean isSorted()
{
    boolean sorted = true;        
    for (int i = 1; i < list.size(); i++) {
        if (list.get(i-1).compareTo(list.get(i)) > 0) sorted = false;
    }

    return sorted;
}

>0而不是!=1,您不能确定1会返回。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

确定数组是否已排序

来自分类Dev

在确定数组是否已排序时遇到问题

来自分类Dev

通过对数组进行排序来确定数组是否具有重复元素

来自分类Dev

对不确定数据的数组进行排序

来自分类Dev

测试列表是否已排序

来自分类Dev

确定数组是否包含重复值

来自分类Dev

确定数组键值是否为空

来自分类Dev

确定数组是否为因子链

来自分类Dev

如何使用Joda Time确定数组列表中是否存在日期

来自分类Dev

确定数组列表是否开始和结束并显示之间的所有内容

来自分类Dev

如何验证列表是否已排序?

来自分类Dev

如何验证列表是否已排序?

来自分类Dev

如何检查数组是否已排序?

来自分类Dev

检查数组是否已排序的函数

来自分类Dev

检查数组是否已排序的函数

来自分类Dev

如何检查javascript数组是否已包含特定数组

来自分类Dev

确定数据是否已经在选择列表中

来自分类Dev

确定数组是否为一维的函数

来自分类Dev

确定数组中的元素是否相应安排

来自分类Dev

确定数组是否包含几乎递增的序列

来自分类Dev

我想确定数组中的数字是否是 50 的因数

来自分类Dev

确定两个未排序的数组是否相同?

来自分类Dev

如何编写函数以测试链接列表是否已排序

来自分类Dev

assertThat-hamcrest-检查列表是否已排序

来自分类Dev

如何检查字典列表是否已排序?

来自分类Dev

如何使用C ++检查链接列表是否已排序?

来自分类Dev

python while循环分解已排序的列表/数组

来自分类Dev

读取 int 数组并检查它是否已排序

来自分类Dev

确定数组的真实值