|
|
1
10
虽然没人能真正告诉你为什么没有
它在O(1)中不支持的主要操作是按顺序获取下一个键。如果你想做到这一点,你通常会使用二叉树,给你一个经过排序的字典。
如果您决定将映射实现为一个列表,那么您将保留按键排序的元素,以便查找为O(lg n),从而为您提供另一个排序字典——以排序列表的形式。当然是名字
|
|
|
2
4
现在有:
|
|
|
3
2
我想原因可能就是
不是说这意味着
我认为同样的情况也适用于
我知道这就是我在这两个案例中所做的:我有一个
|
|
|
4
2
我认为解决这个问题的方法是实现一个扩展方法
|
|
|
5
1
它是一个由键进行排序的列表。我只是在推测,但是通过提供指定与元素分离的键的能力,您的元素不必具有可比性——只需要键。我可以想象,在一般情况下,这节省了大量用于实现IComparable的代码,因为密钥可能是一种已经可以比较的类型。 |
|
|
6
0
RPM注释非常有效。此外,对于LINQ扩展,可以使用sort扩展方法按t的任何属性进行排序。我认为这可能是背后的主要原因。 |