java小知识 List 倒序排列

List mlist=new ArrayList();

Collections.reverse(mlist);

 

 

 

 

在 C# 中,对 `List<T>` 进行倒序排列(即从后往前排列)可以通过多种方式实现。最常用的方法是使用 `List<T>.Sort()` 方法结合 `Comparison<T>` 委托,或者调用 `List<T>.Reverse()` 方法。以下是几种常见的方法实现倒序排列。 ### 方法一:使用 `Sort()` 和逆向比较器 ```csharp using System; using System.Collections.Generic; class Program { static void Main() { List<int> numbers = new List<int> { 10, 20, 30, 40, 50 }; // 使用 Sort 方法并传入逆序比较器 numbers.Sort((a, b) => b.CompareTo(a)); Console.WriteLine("倒序排列后的列表:"); foreach (int num in numbers) { Console.Write(num + " "); } } } ``` **解释**: - `numbers.Sort((a, b) => b.CompareTo(a));` 表示按照从大到小的顺序排序。 - `(a, b) => b.CompareTo(a)` 是一个 Lambda 表达式,它告诉排序算法将 `b` 放在 `a` 前面,从而实现降序排列。 ### 方法二:使用 `Reverse()` 方法(仅适用于已排序列表) 如果你的列表已经是升序排列,并且你只想反转顺序,可以使用 `Reverse()` 方法: ```csharp using System; using System.Collections.Generic; class Program { static void Main() { List<int> numbers = new List<int> { 10, 20, 30, 40, 50 }; // 反转列表顺序 numbers.Reverse(); Console.WriteLine("倒序排列后的列表:"); foreach (int num in numbers) { Console.Write(num + " "); } } } ``` **解释**: - `numbers.Reverse();` 会直接反转列表中元素的顺序。 - 这个方法不会排序,只是将当前顺序反转。 ### 方法三:使用 LINQ 的 `OrderByDescending()`(适用于创建新序列) 如果你希望不修改原始列表,而是生成一个新的倒序排列的列表,可以使用 LINQ: ```csharp using System; using System.Collections.Generic; using System.Linq; class Program { static void Main() { List<int> numbers = new List<int> { 10, 20, 30, 40, 50 }; // 使用 LINQ 创建一个倒序的新列表 List<int> reversedList = numbers.OrderByDescending(n => n).ToList(); Console.WriteLine("倒序排列后的列表:"); foreach (int num in reversedList) { Console.Write(num + " "); } } } ``` **解释**: - `OrderByDescending(n => n)` 会按降序排序。 - `.ToList()` 将结果转换为新的 `List<int>`。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值