我尝试使用具有一些不同属性的Word类在Java中创建一个简单的字典:
public class Word {
public enum WordType{ NOUN, PRONOUN, ADJECTIVE, ADVERB, EXCLAMATION, PREPOSITION, CONJUNCTION, DETERMINER, VERB;}
private String text;
private Word[] definition;
private WordType wordType;
}
我希望每个单词的定义都包含一系列其他单词对象,直到每个单词最终被分解为最核心和最基本的单词;它将有一个String来定义它。
首先,我只是想检查一下,在正确的编程实践方面,将对象类型作为自己对象中的属性是可以的。
我的主要问题是我试图从.csv文件构造一个Dictionary对象(由单词对象的arraylist组成)。我希望将对象作为定义的值引用,作为通过.csv导入创建的相同单词对象。
即:
hello,positive-adjective greeting-noun,exclamation,
positive,root definition,adjective,
greeting,root definition,noun,
Dictionary对象将包含单词objects {' hello',' positive',' greeting'}以及' hello'对象的定义将指向相同的“正面”#39; &安培; '问候'对象
同样,这是编程中适当的事情还是这种不好的做法。但也有某种功能/方法可以让我配对两个对象,因为现在我所能想到的就是使用一个' for循环'每当创建新单词以查找重复条目时,循环遍历字典中的每个单词。但是我觉得这是低效的,并且随着字典的增大而不太可行。
如果需要,我会编写更多代码,但我尝试只包含相关内容。
答案 0 :(得分:0)
您的问题是我能否做到这样的事情:
class Word
{
private Word[] children;
}
绝对。 (对于List或者单个Word字段等也是如此)。我们还有Singleton设计模式,可以保护自己类型的实例。
请按照此n-Array Tree链接获取示例。