编程语言
首页 > 编程语言> > 我可以使用java.util.Set为Java中的DFA实现状态转换

我可以使用java.util.Set为Java中的DFA实现状态转换

作者:互联网

我正在尽可能接近正式定义实施DFA作为学习练习(和博客材料)

我计划使用java.util.Set,其中定义涉及一个集合.

该定义涉及一组元组来定义合法的状态转换:(状态,符号) – > nextState.

我有一个Transition类,其成员有state,symbol和nextState.我已经实现了equals()和hashCode()来指示如果两个Transitions在状态和符号上匹配,则它们是相等的.然后我有一个转换实例的java.util.Set.

在我的处理算法中,当我读下一个符号时,我有当前状态.我期望使用这两个来构建一个Transition对象,从Set中取出匹配的Transition,然后告诉我下一个状态,我可以迭代.

但是 – 我没有看到任何方法来提取java.util.Set的成员以供进一步使用.我可以删除(Object o),但只返回boolean.

我究竟做错了什么?

解决方法:

Set可能不是你想要用的.我的建议是使用List<转换>,或者可能是Map<国家名单,LT;过渡&GT取代.如果没有真正构建它并进行一些基准测试,我不确定哪个更好.

标签:finite-automata,java,computer-science,set
来源: https://codeday.me/bug/20190730/1585303.html