如何使用java删除重复的单词
我有一个文本文件。因为我想删除重复的单词如何使用java删除重复的单词,java,Java,我有一个文本文件。因为我想删除重复的单词 அந்தப் சத்தம் அந்த இந்தத் பாப்பா இந்த கனவுத் அந்த கனவு 我删除重复的单词。但是有结尾的词'ப்' , 'த்' 被认为是分开的词,不能作为重复的词删除。如果我删除'ப்' , 'த்' 它从其他一些词中删除,如பாப்பா, சத்தம். 请提出使用java解决此问题的任何想法。提前谢谢。我想我会使用带有自定义compera
அந்தப்
சத்தம்
அந்த
இந்தத்
பாப்பா
இந்த
கனவுத்
அந்த
கனவு
我删除重复的单词。但是有结尾的词'ப்' , 'த்' 被认为是分开的词,不能作为重复的词删除。如果我删除'ப்' , 'த்' 它从其他一些词中删除,如பாப்பா, சத்தம். 请提出使用java解决此问题的任何想法。提前谢谢。我想我会使用带有自定义comperator(如a)的集合。这样你就可以用任何你喜欢的方式定义相等 使用扫描仪将每一行作为字符串扫描到一个集合中,然后将集合中的字符串写入一个文件。首先,您应该向我们解释如何解析您的文件,因为您的文件似乎工作不正常。然后,在我看来,对于非重复查询,最明显的建议是使用a(甚至a),根据给定的集合规则,它应该确保元素的唯一性。我不理解给定的语言(google translate的猜测是泰米尔语),但从你的问题中我读到,对于用这种语言书写的单词,有特殊的“平等”规则——即使它们的书写方式不同(例如,有不同的结尾),类单词也可以是平等的 因此,您可能希望将包含该语言单词的字符串包装在特殊对象中,您可以在其中定义自定义的“equals”方法,如下所示:
public class TamilWord {
String writtenWord = null;
public TamilWord(String writtenWord) {
this.writtenWord = writtenWord;
}
public String getWrittenWord() {
return writtenWord;
}
@Overwrite
public boolean equals(Object other) {
// Define your custom rules here, so that two words that
// are written differently may be considered as equal
}
}
然后,您可以为所有解析的字符串创建TamilWord
对象,并将它们放入
a设置
。因此,如果我们有abcd
和abcd
这两个词,它们在书写上是不同的,但根据被视为相等的规则,那么这些词中只有一个会被添加到集合中。我的解决方法是:
逐字阅读并将其放入java.util.Set
。最后,您将拥有无重复项的集合。您还应该定义这个词
类:
class TheWord {
String word;
public TheWord() {}
public String getWord() {
return word;
}
public void setWord(String word) {
this.word = word;
}
public boolean equals(TheWord o) {
// put here your specific way to compare words
// taking into account your language rules and considerations
}
}
我(至少)有时候会说“是”结尾的话,这是对的吗ப்' 而且த்' 你是平等的吗?我也不知道泰米尔人。。。但是,可能执行某种类型的词干分析?类似于英语:播放,播放所有地图播放或类似的东西。