Java中如何消除String中的重复单词?

2023-11-29

我有一个ArrayList of Strings 并且它包含以下记录:

this is a first sentence
hello my name is Chris 
what's up man what's up man
today is tuesday

我需要清除这个列表,以便输出不包含重复的内容。在上述情况下,输出应该是:

this is a first sentence
hello my name is Chris 
what's up man
today is tuesday

如您所见,第三个字符串已被修改,现在仅包含一条语句what's up man而不是其中两个。 在我的列表中存在一种情况,有时字符串是正确的,有时它是双倍的,如上所示。

我想摆脱它,所以我考虑迭代这个列表:

for (String s: myList) {

但我找不到消除重复的方法,特别是因为每个字符串的长度尚未确定,我的意思是可能有记录:

this is a very long sentence this is a very long sentence

或者有时很短:

single word singe word

也许有一些本机java函数吗?


假设字符串仅重复两次,并且中间有一个空格,如示例中所示,以下代码将删除重复:

for (int i=0; i<myList.size(); i++) {
    String s = myList.get(i);
    String fs = s.substring(0, s.length()/2);
    String ls = s.substring(s.length()/2+1, s.length());
    if (fs.equals(ls)) {
        myList.set(i, fs);
    }
}

该代码只是将列表的每个条目拆分为两个子字符串(除以半个点)。如果两者相等,则仅用一半替换原始元素,从而消除重复。

我正在测试代码,但没有看到@Brendan Robert 的回答。这段代码遵循与他的答案相同的逻辑。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java中如何消除String中的重复单词? 的相关文章

随机推荐