当前位置: 首页 > 知识库问答 >
问题:

如何使用列表按顺序对数字排序?JAVA

葛阳华
2023-03-14

我对列表之类的东西很陌生,目前正在努力学习它们。我用它们制作了一个程序,一切都很顺利,直到我无法对列表中的数字进行排序。现在,每当我看到代码的这一部分时,它就会停止工作:

if ((st.get(i))>(st.get(k))) {
    int temp=st.get(k);
    st.add(k,st.get(i));
    st.add(i,temp);
}

你能帮我解决我做错的事情吗?

共有2个答案

郑富
2023-03-14

如果您想使用Java8,有一种简单的方法可以在整数列表中对nums进行排序。这是一个例子。

public class Main {

    public static void main(String[] args) {
        List<Integer> nums = Arrays.asList(1, 4, 5, 29, 30, 11, 2, 6);
        nums.sort(Comparator.naturalOrder());
        System.out.println(nums);
    }
}
郑理
2023-03-14

您的问题描述“刚刚停止工作”有点模糊。我假设您没有得到异常,只是得到了不正确的输出。代码(这部分)的问题在于,您没有交换列表中放错位置的元素,而是在相应的索引处添加这些元素的副本。您应该使用set(index,element)而不是add(index,element)

if (st.get(i) > st.get(k)) {
    int temp = st.get(k);
    st.set(k, st.get(i));
    st.set(i, temp);
}

当然,排序函数的其余部分可能还有其他问题。此外,如注释中所述,在实现自己的冒泡排序或选择排序或任何一种伟大的操作时,在所有实际应用中,您应该使用几种内置排序方法中的一种,例如集合。排序。

 类似资料:
  • 问题内容: 我在这里有点深,我希望这实际上是可能的。 我希望能够调用一个函数,该函数将按字母顺序对列表中的所有项目进行排序。 我一直在寻找通过jQuery UI进行排序,但事实并非如此。有什么想法吗? 问题答案: 你 不会 需要jQuery来做到这一点… 易于使用…

  • 问题内容: 我有一个包含国家/地区名称的对象。如何按字母顺序对列表进行排序? 问题答案: 假设这些是字符串,请使用方便的静态方法sort……

  • 我按直接顺序列出了列表1<代码>列表 如何更改顺序。我不知道如何重写扩展类中的方法,请用例子写或说清楚。

  • 问题内容: myArray = [Step 6, Step 12, Step 5, Step 14, Step 4, Step 11, Step 16, Step 9, Step 3, Step 13, Step 8, Step 2, Step 10, Step 7, Step 1, Step 15] 如何以这种方式在上面对这个数组排序? 我很快使用了此功能,但它是按这种方式排序的 问题答案: 另

  • 问题内容: 我有以下查询,该查询基于逗号分隔的列表返回行 我希望此查询的结果以ID在列表中的顺序返回。SQL可以做到吗? 提前致谢 问题答案: 如果您需要输出以特定顺序显示,则需要使用服务器可以排序的内容来指定该顺序。不知道您要使用哪个引擎,一般的方案是创建一个临时表或使用行集构造函数将每个记录ID与所需的排序顺序配对。 例如(SQL Server)