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

使用lambda表达式对LinkedList进行排序[重复]

章稳
2023-03-14

你好我想对新创建的LinkedList进行升序排序,列表中的所有元素都是随机装箱的。我的任务是用比较器对它们进行排序,但我不允许编写实现比较器的类,而是应该用lambda表达式对其进行排序。这是我目前的代码:

public List<Integer> methodName(int length, int min, int max){
        LinkedList<Integer> intll = new LinkedList<>();
        for (int i =0; i<length;i++){
            intll.add(ThreadLocalRandom.current().nextInt(min,max+1));
        //Sorting part 

到目前为止,我尝试使用集合和列表中的排序方法,但无法进一步帮助我。非常感谢您提前帮助我。

共有2个答案

伏德义
2023-03-14
import java.util.stream.Collectors;

public List<Integer> methodName(int length, int min, int max) {
        LinkedList<Integer> intll = new LinkedList<>();
        for (int i =0; i<length;i++)
            intll.add(ThreadLocalRandom.current().nextInt(min,max+1));

        return intll.stream().sorted((a, b) -> a - b).collect(Collectors.toList());
}

如果要更改排序顺序,请使用b-a而不是a-b

微生昌胤
2023-03-14

链表

 类似资料:
  • 问题内容: 这是我的清单: 我想按列表排序,如果等于则按,如果等于则按。但是到目前为止,我只能使用Lambda表达式按一个属性排序: 如果我尝试 原来是错误的… 问题答案: 将lambda 表达式 更改为lambda {block} ,而不必指定参数类型:

  • 这个问题有一个关于如何使用多行lambda表达式对List进行排序的答案: 不幸的是,这似乎不适用于原始数组: 如何在Arrays.sort()中使用多行lambda表达式对原始数组进行排序? 我对任何其他方法(不必使用)都很好,只要它使用lambda表达式(没有比较器)。

  • 我试着取一个数字列表,过滤掉偶数,然后平方这些偶数,这样原始列表中的偶数就平方了。这是我的代码: 我尝试了一些其他的方法,但这是我目前所处的位置

  • 这是我的清单: 我想按对列表进行排序,如果相等,则按排序,如果相等,则按排序。但是到目前为止,我只能使用Lambda表达式按一个属性排序: 如果我尝试 事实证明是错误的。。。

  • 我有以下课程 我正在尝试按贡献者名称和角色名称对ResourceContributor列表进行排序。到目前为止,我得到的是: 我已经尝试使用then比较,但还不知道如何使用它。