java - 冒泡排序数组列表

标签 java arraylist bubble-sort

我有一个从用户读取到数组列表中的对象数组,当我尝试根据字符串参数对这些数据进行冒泡排序时,程序会遇到运行时错误,并且代码不会执行。

Resort temp;
    while (finished = true) {
        finished = false;
        for (int index = 0; index < numResorts - 1; index++) {
            String nam1 = resorts.get(index).getName();
            String nam2 = resorts.get(index + 1).getName();
            if (nam1.compareTo(nam2) > 0) {
                temp = resorts.get(index);
                resorts.set(index, resorts.get(index + 1));
                resorts.set(index + 1, temp);
                //resorts.get(index) = resorts.get(index + 1);
                //resorts.get(index + 1) = temp;
                finished = true;
            }
        }
    }

最佳答案

您注意到那里有一个无限循环吗?以下 while 循环:

while (finished = true)

...始终无限执行,因为由于该赋值,表达式的计算结果始终为 true。这就是为什么您不应该比较 boolean 值的原因。只需执行以下操作:

while (finished)  // this is enough.

关于java - 冒泡排序数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18968446/

相关文章:

java - Firebase Firestore 从集合中获取数据

c++ - 在 C++ 中使用冒泡排序对结构数组的成员进行排序

c - 为什么这个 Shaker Sort 代码在 C 中不起作用

java - Groovy 无法解析 Java 类

java - Spring DAO Repository 异常处理

java - com.mysql.jdbc.PacketTooBigException :Packet too long to query

android - Recyclerview 将 ID 从数组传递到另一个 Activity onClick 返回随机 id

java - GWT 客户端代码中的 Collections.sort 是否会导致 JavaScript 膨胀?

python - 为什么冒泡排序实现永远循环?

java - 重入锁定条件