gpt4 book ai didi

java - Java中存储多键值对的数据结构

转载 作者:行者123 更新时间:2023-11-30 06:36:54 24 4
gpt4 key购买 nike

晚上好

我正在寻找一种优雅的解决方案来实现转换表(特别是通用下推自动机),该转换表使用多个离散值来实现给定的转换。他们说一张图片胜过一千个字,所以这是我表格的一部分:

State    InputSymbol    StackSymbol   Move(NewState, Action)
------------------------------------------------------------
0 a Z0 (0, push)
0 a a (0, push)
0 a b (0, pop)
0 b Z0 (1, push)
...

现在,我已经考虑过多维数组、ArrayLists 的 ArrayLists 和其他类似的解决方案,但都显得相当粗鲁。由于我的三个符号(a、b 和 Z0)的所有可能组合并未在表中表示,这使情况变得更加复杂。

我一直在考虑使用 HashMap,但我不完全确定如何使用多个键值来实现这一点。我正在考虑将所有三个符号连接在一起并使用生成的字符串作为我的 key ,但这似乎也不那么优雅。

而且,郑重声明,这是作业,但实际上并不是严格要求提供优雅的解决方案。我只是喜欢好的代码。

预先感谢您的协助。

最佳答案

创建一个这样的类:

 class Key{
int state;
char inputSysmbol;
String StackSymbol;
}

然后使用 map Map<Key,Move> .

像上面一样为 Move 创建一个类,不要忘记 override hashcode and equals两个类中的方法。

关于java - Java中存储多键值对的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4201448/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com