检查arraylist是否已排序

ora*_*nge 1 java sorting

可能重复:
如何确定List是否在Java中排序?

在java中,我有带名称的数组列表,如何检查它是否排序?我不希望它被排序.我只是希望它返回true如果是,如果不是则返回false.

到目前为止我有这个:

public boolean isSorted()
{
    boolean check = false;

    if (Collection.sort(bank, Bank.getOwner()).equals(bank))
    {
        check = true;
    }
    else
    {
        check = false;
    }      
    return check;
}
Run Code Online (Sandbox Code Playgroud)

getOwner返回所有者名称的位置.显然我做错了.

Voo*_*Voo 5

明显的解决方案:

boolean ascending = true, descending = true;
for (int i = 1; i < arr.length && (ascending || descending); i++) {
    ascending = ascending && arr[i] >= arr[i-1];
    descending = descending && arr[i] <= arr[i-1];
}
Run Code Online (Sandbox Code Playgroud)

  • 这可能比最明显的解决方案更复杂.;) (4认同)