Java 程序打印字符串中所有唯一的单词
在本文中,我们将学习如何使用 Java 的 Map 工具查找字符串中的唯一单词,因为它具有不包含重复键的特性。要查找唯一单词,首先获取数组中的所有单词以比较每个单词,为此,根据空格/s 分割字符串。如果存在其他字符,如逗号 (,) 或句点 (.),则首先使用所需的 正则表达式 从字符串中替换这些字符。
将字符串的每个单词作为 Map 的键插入,并为每个键提供初始值 是唯一的,如果此单词之前未插入 Map 中。当一个单词在 Map 中作为键重复插入时,将其条目从 Map 中删除。对每个单词继续执行此操作,直到检查完字符串的所有单词是否已插入。
问题陈述
编写一个 Java 程序来打印字符串中所有唯一的单词。
输入
Guitar is instrument and Piano is instrument
输出
{Guitar=Unique, is=Unique, instrument=Unique, and=Unique, Piano=Unique}
遵循的步骤
以下是打印字符串中所有唯一单词的步骤:
- 从导入类开始。
- 定义名为“Tester”的类并在其中初始化 main 方法。
- 初始化一个字符串变量,将句子放入其中,并使用 split() 方法 将字符串划分为单词数组。
- 将每个单词作为键存储在 LinkedHashMap 中,其值为“Unique”。
- 遍历 for 循环 并检查该单词是否已在 map 中。如果否,则将其添加到 map 中。
- 打印 LinkedHashMap 以显示唯一单词。
使用 Java 打印所有唯一单词
以下是 Java 程序,用于打印字符串中所有唯一的单词:
import java.util.LinkedHashMap; import java.util.Map; public class Tester { public static void main(String[] args) { String str = "Guitar is instrument and Piano is instrument"; String[] strArray = str.split("\s+"); Map<String, String> hMap = new LinkedHashMap<String, String>(); for(int i = 0; i < strArray.length ; i++ ) { if(!hMap.containsKey(strArray[i])) { hMap.put(strArray[i],"Unique"); } } System.out.println(hMap); } }
输出
{Guitar=Unique, is=Unique, instrument=Unique, and=Unique, Piano=Unique}
代码解释
首先,我们将从 java.util 包 中导入 LinkedHashMap 和 Map 类。然后,定义一个名为 Tester 的公共类,并在其中初始化 main 方法。我们可以从创建一个字符串并使用 split() 方法 将其拆分为单个单词开始。接下来,创建一个 LinkedHashMap 来存储每个单词作为键,其值为“Unique”。循环遍历单词数组,检查每个单词是否已在 map 中。如果不在,我们将添加它。最后,打印 map 以显示字符串中的唯一单词。
广告