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从给定句子中去除所有重复单词的步骤:
- 首先,我们将导入所需的类,例如HashSet和StringJoiner,它们都位于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.
广告