gpt4 book ai didi

java - 需要有关我的程序在 String 中查找重复项的效率的输入

转载 作者:行者123 更新时间:2023-11-30 09:44:35 24 4
gpt4 key购买 nike

我开发了一个 java 程序来检查字符串是否具有所有唯一字符。我列出来了。如果我得到有关该程序效率的输入以及改进该程序所需的任何更正,我将不胜感激。提前致谢。

package com.string.duplicatechars;

import java.util.HashMap;
import java.util.Map;

public class CheckForDuplicateChars {

/**
* @param args
*/
public static void main(String[] args) {
String sampleString = "abcdabxyz";
boolean allUniqueCharacters = allUniqueCharacters(sampleString);
System.out.println("Are all characters unique: "+allUniqueCharacters);
}

public static boolean allUniqueCharacters(String sampleString) {
boolean allUniquCharacters = true;
char[] charArrForString = sampleString.toCharArray();
Map<Character, Boolean> resultHashMap = new HashMap<Character, Boolean>();

for(char ch: charArrForString){
Boolean isAlreadyPresent = (Boolean)resultHashMap.put(new Character(ch), new Boolean(true));

if(isAlreadyPresent != null){
if(isAlreadyPresent.booleanValue() == true) {
System.out.println("Got repeated character: "+ch);
allUniquCharacters = false;
}
} else {
System.out.println("Character "+ch+ " is being iserted first time");
}
}

return allUniquCharacters;
}
}

最佳答案

我会使用 Set<Character> 反而。当您尝试 add 一个字符到集合中,它将返回 false如果集合已经包含那个字符。

for(char c: yourCharArray){
if(!set.add(c)){
return false;
}
}

关于java - 需要有关我的程序在 String 中查找重复项的效率的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7826864/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com