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 以显示字符串中的唯一单词。

更新于: 2024-08-16

2K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告