首页 > 解决方案 > 在 Java 或 C# 中按汽车公司产品类别对列表进行排序时需要帮助

问题描述

我需要帮助按汽车公司的产品类别从低成本到高成本对 ArrayList 进行排序。排序顺序应该是 Alto、Swift、Brezza(从低成本到高成本)。例如:

我的输入: Brezza、Alto、Alto、Brezza、Swift、Alto、Swift、Alto

预期输出: Alto、Alto、Alto、Swift、Swift、Brezza、Brezza

提前致谢

标签: javac#sortingarraylistcollections

解决方案


此解决方案适用于 C#:使用 LINQOrderBy并为每个可能的字符串分配一个索引:

List<string> input = new List<string> { "Brezza", "Alto", "Alto", "Brezza", "Swift", "Alto", "Swift", "Alto"};
List<string> result = input.OrderBy(x => x switch  { "Alto" => 1, "Swift" => 2, "Brezza" => 3, _ => 4 }).ToList();

如果一个字符串既不是 Brezza、Alto 或 Swift,我分配最高的索引,这意味着这些项目将在列表的末尾。

在线演示:https ://dotnetfiddle.net/N7XQZi


推荐阅读