algorithm - 按字母顺序对列表中的类别进行排序
问题描述
我有一个列表,其中包含有类别的项目。
enum class ItemCategory {
ACCOUNT,
CARD,
OTHER,
INVESTMENTS,
LOAN
}
我按类别按字母顺序对项目进行排序:
items = itemList.sortedBy { it.category.name }.groupBy { it.category }
现在输出:账户、卡、投资、贷款、其他、支付
预期:帐户、卡、投资、贷款、付款、其他
解决方案
Output Now
of:按ACCOUNT, CARD, INVESTMENTS, LOAN, OTHER, PAYMENT
字母顺序正确。
如果你REQUIRE
的输出是:ACCOUNT, CARD, INVESTMENTS, LOAN, PAYMENT, OTHER
您可以将数值分配给 Enum 值,如下所示:
public enum ItemCategory
{
ACCOUNT = 0,
CARD = 1,
INVESTMENTS = 2,
LOAN = 3,
PAYMENT = 4,
OTHER = 5
}
然后在执行Sorting
/时,Ordering
您可以执行以下操作:
var itemList = new List<ItemCategory>
{
ItemCategory.CARD,
ItemCategory.ACCOUNT,
ItemCategory.OTHER,
ItemCategory.INVESTMENTS,
ItemCategory.LOAN,
ItemCategory.PAYMENT
};
var sortedList = itemList.OrderBy(i => (int)i).ToList();
然后您可以遍历列表,它将按以下顺序排列:
ACCOUNT
CARD
INVESTMENTS
LOAN
PAYMENT
OTHER
推荐阅读
- python - Pandas 最佳实践:删除列名?
- linux - 错误:找不到 Parrot/n/a 的分发模板
- sql - 如何将未来的日子带到过去的日期,然后使用 postgresql 恢复到过去的日子?
- c++ - 将位置从第一个转移到最后一个
- reactjs - Reactjs - API 数据具有带有 `onClick()` 属性的可点击元素
- python - Python 函数导入
- python - python - 如何用Python中另一个txt文件中的一行替换txt文件中的一行
- r - 我可以运行 BigQuery SQL 查询,然后继续使用 dbplyr 处理数据吗?
- plugins - Solr 自定义查询组件不返回正确的方面计数
- node.js - 是否可以直接从 React 连接到 Heroku 上的数据库