Java程式:去除給定句子中的所有重複單詞


在這篇文章中,我們將學習如何使用Java去除給定句子中的重複單詞。第一種方法使用Java流來去除重複項,並使用distinct()Collectors.joining()方法將單詞重新組合成句子。第二種方法使用Set自動過濾重複單詞,並使用StringJoiner將單詞重新組合成句子。兩種方法都將得到一個只包含唯一單詞的句子。

不同的方法

以下是去除給定句子中所有重複單詞的不同方法:

使用Java流

以下是使用Java流從給定句子中去除所有重複單詞的步驟:

  • 首先,我們將從java.util包匯入Arrays,以及從java.util.stream包匯入Collectors
  • 之後,我們將定義一個包含重複單詞的字串句子。
  • 我們將使用split()方法將句子分成單個單詞。
  • 之後我們將應用distinct()過濾掉重複的單詞。
  • 使用joining()方法將不同的單詞重新組合成句子。
  • 列印最終沒有重複單詞的句子。

示例

以下是使用Java流從給定句子中去除所有重複單詞的Java程式:

import java.util.Arrays;
import java.util.stream.Collectors;
public class Demo{
   public static void main(String[] args){
      String my_str = "This is a is sample a sample only.";
      my_str = Arrays.stream(my_str.split("\s+")).distinct().collect(Collectors.joining(" "));
      System.out.println(my_str);
   }
}

輸出

This is a sample only.

使用Set

以下是使用Set從給定句子中去除所有重複單詞的步驟:

  • 首先,我們將匯入所需的類,例如HashSetStringJoiner,它們都位於java.util包中。
  • 之後,我們將定義一個包含重複單詞的句子。
  • 我們將使用split()方法將句子分成單詞,並將每個單詞儲存在Set中以自動刪除重複項。
  • 我們將使用StringJoiner將不同的單詞重新組合成句子。
  • 最後,列印最終沒有重複單詞的句子。

示例

以下是使用Set從給定句子中去除所有重複單詞的Java程式:

import java.util.HashSet;
import java.util.Set;
import java.util.StringJoiner;
public class RemoveDuplicates {
    public static void main(String[] args) {
        String my_str = "This is a is sample a sample only.";
        String[] words = my_str.split("\s+");       
        Set uniqueWords = new HashSet<>();
        StringJoiner result = new StringJoiner(" ");        
        for (String word : words) {
            if (uniqueWords.add(word)) {
                result.add(word);
            }
        }        
        System.out.println(result.toString());
    }
}

輸出

This is a sample only.

更新於:2024年10月23日

593 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.