Java从char数组中删除重复项的方法

2023-12-04

我有一个由用户填充的字符数组(arrayInput[])带有一些字符,例如 {b, d, a, b, f, a, g, a, a, f},我需要创建一个方法,该方法返回一个新的 char 数组,其中仅包含该字符的第一次出现,但按照输入的顺序。这本书还说“解决这个问题的一种方法是创建一个布尔数组来跟踪要维护的字符!”,但我无法想象布尔数组应该如何与其他数组一起使用。

主要问题是我可以保存在布尔数组中,如果arrayInput包含特定字符,甚至包含多少次,但只在 for 中创建一个很长的分支 if-else,例如

    if ((arrayOutput[i] == 'A') && (arrayControl[0] = false)) {
        arrayControl[0] = true;  }

where arrayOutput是我想从该方法返回的数组,arrayControl[0]是我在方法中创建的布尔数组中“A”的值。 A = 0,B = 1,...Z = 25,a = 26,b = 27,...51 = z。对于每个字符,无论大写还是小写,我都在数组中创建了一个位置,这样我就可以检查所有内容,但现在我不能再进一步了。我不知道如何保存角色arrayOutput, 如何检查一个字符是否已经存在arrayOutput如果它已经存在,则数组将传递该特定字符并转到下一个字符。

另外请记住我是一个新手,所以我对Java知之甚少。请尽可能地解释一下自己。提前致谢!


这可以工作:

public static void main(String[] args) {
    Main main = new Main();
    char[] array = {'e','a','b','a','c','d','b','d','c','e'};
    main.getCharArray(array);
}

private char[] getCharArray(char[] array) {
    String _array = "";
    for(int i = 0; i < array.length; i++) {
        if(_array.indexOf(array[i]) == -1) // check if a char already exist, if not exist then return -1
            _array = _array+array[i];      // add new char
    }
    return _array.toCharArray();
}

Output:

eabcd

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

Java从char数组中删除重复项的方法 的相关文章

随机推荐

  • 使用 VBA 在 Word 中设置嵌套字段

    我正在根据模板分段构建一个大型文档 每个模板都有一个关键字 OVERALLPAGENUMBER 在页脚中 我以编程方式用字段替换 使用 Excel VBA 如果我需要的只是该文档的页码 那么以下内容就足够了 Dim storyRange A
  • 有没有办法强制 IE 或 FF 进入手持模式来测试“@media手持”样式表?

    有没有办法强制 IE 或 FF 进入手持模式来测试 media手持 样式表 或者 我是否必须发布页面并使用我的黑莓进行测试 我更愿意测试这个而不将应用程序推送到实时服务器 因为应用程序已经在使用中 有什么想法给我吗 FF 的 Web 开发人
  • Python Intel MKL 致命错误:无法加载 mkl_intel_thread.dll

    使用 Anaconda 每当我导入 Pandas Numpy Matplotlib 等时 Python 都会出现问题 python exe Ordinal Not Found The ordinal 242 could not be loc
  • 无法运行 jar 文件:无法找到或加载主类

    我在 IDEA Build gt Build Artifacts 中创建 jar 文件 但无法运行它java jar jarname jar Error Could not find or load main class Hello MAN
  • 使用 opencv 生长的种子区域

    我需要选择一个像素值并应用根据种子像素增长的区域 尝试编写代码后 结果始终是黑色图像 无论我使用什么种子点 整个问题涉及到GrowColor功能 我的猜测是 if 的逻辑错误 include
  • 在列中查找与其他数据帧列中的任何其他值匹配的行号

    我有一个代码 import pandas as pd import numpy as np arm 1 and m1 df pd DataFrame record id 1 4 3 np nan two 1 2 np nan 4 redca
  • Python嵌套函数中的变量范围[重复]

    这个问题在这里已经有答案了 第一个代码片段打印 0 3 out def func a 0 def swim a append 3 a 1 a return a return swim print func 第二个代码片段引发错误 Unbou
  • Whatwg-获取新打字稿 2.5.3

    在我的打字稿项目中 我使用 whatwg fetch 2 0 3 这是这个聚填充的最新版本 作为类型我正在使用这个版本 types whatwg fetch 0 0 33 以及所有内容当我使用打字稿版本 2 2 0 时 它对我来说效果很好
  • 如何一次为所有文本添加拼音指南?

    我有一篇大约1000字的作文 我想在每个中文单词的顶部添加拼音指南 拼音 因此 在MS Words中 我使用拼音指南 然而拼音指南每次只允许我创建20到30个单词的拼音 我试图寻找一个功能 可以让我一次为所有单词添加拼音指南 但我在网上找不
  • 无法找到库 geos_c 或加载其任何变体

    我在 Fedora 19 中使用 Python 我想运行以下行 import shapely geometry 但出现以下错误 OSError Could not find library geos c or load any of its
  • Android MapView 可拖动标记

    我想在 Android MapView com google android maps MapView 中创建一个可拖动标记 如下所示 http koti mbnet fi ojalesa exam draggable html 我已经有一
  • javascript 5 0 - 20 之间的随机非重复整数

    生成 5 个 0 20 之间的随机非重复整数的最佳方法是什么 我在想 将Math random与floor一起使用 循环5次 检查是否有重复项 如果重复 则再次随机 你有什么办法 您可以生成一个从 0 到 20 的数字数组 洗牌并获取结果数
  • 使用行为一致但已弃用的 HTML 标签有何缺点?

    当用户访问我的网站时 他们不关心如何perfect或多少standard该页面已编码 他们只关心它是否有效 有些标签已被弃用 但在所有主要 次要和非常次要的浏览器中具有一致的行为 他们现在工作并且将来会工作 我不是在谈论optional标签
  • 如何在nodejs中将二进制缓冲区保存到png文件?

    我有包含位图信息的二进制nodejs Buffer 对象 如何从缓冲区中生成图像并将其保存到文件中 Edit 我尝试使用文件系统包 如 herchu 所说 但如果我这样做 let robot require robotjs let fs r
  • 在 golang 中创建静态二进制文件所需的标志

    我正在使用构建 Docker 镜像scratch作为基础 以下构建命令 RUN go build o go bin myapp 创建了一个执行时一直失败的二进制文件 standard init linux go 211 exec user
  • 在 PHP 中强制下载图像。在本地工作但在实时 Linux 服务器上崩溃

    我正在通过我的网站强制下载图像 强制下载在 Apache Windows 开发机器上运行良好 然而 当它在我的 Linux Web 服务器上运行时 它会将垃圾字符推送到屏幕上 e g JFIF H H 6Exif MM 火狐浏览器 垃圾 铬
  • 配置管理器和静态类

    我想用ConfigurationManager从 a 访问一些字符串值static班级 但是 我需要专门处理缺少值或存在空值的情况 现在我正在使用类型初始值设定项 例如 private static readonly string some
  • 如何从 DynamoDB 中的地图列表中删除(必须是原子的)

    我有这个架构 product S Primary Key my Hash media L List of Maps 每个媒体项目将如下所示 id S for example id uuid type S for example image
  • CAS 不适用于 VS2010 映射驱动器

    我有一个使用亚音速的项目 该项目是我在 Visual Studio 2008 中开发的 位于 C 驱动器上 那里没问题 我刚刚升级到 Visual Studio 2010 由于我的计算机碰巧死机了 我现在运行的是使用 VirtualBox
  • Java从char数组中删除重复项的方法

    我有一个由用户填充的字符数组 arrayInput 带有一些字符 例如 b d a b f a g a a f 我需要创建一个方法 该方法返回一个新的 char 数组 其中仅包含该字符的第一次出现 但按照输入的顺序 这本书还说 解决这个问题