哈希表遍历顺序

问题描述

我了解哈希表文档不保证插入或比较顺序。但是,我是否有可能在工作流程的每次迭代中获得相同的顺序。

背景信息 我已经用 Java 编写了很多代码,无论顺序如何,我都可以接受,但是为了测试目的,我希望每次运行时顺序都保持一致。

例如

import pandas as pd

df1 = pd.DataFrame.from_dict({'A': {0: 1,1: 2,2: 3,3: 4},'B': {0: 5,1: 6,2: 7,3: 8},'C': {0: 9,1: 8,3: 6}})

df2 = pd.DataFrame.from_dict({'D': {0: 1,'E': {0: 5,'F': {0: 9,3: 6}})

df1.merge(df2[['D','E']],on=df1.index)

解决方法

Hashtable 已过时,您可以使用 HashMap。

对于这个特定问题,LinkedHashMap 保证了插入顺序的遍历。 TreeMap 保证在提供的基于比较的排序中遍历(例如,如果您按该顺序添加键 1、5、2、9 和 3,它会以 1、2、3、5、9 返回.