62,569
社区成员




package cn.sky;
import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String[] args) throws Exception {
// 说明:请使用至少1.5的jdk/jre ,并开启自动封装模式+范型模式
String str = "abcdba";
Map<Character, Integer> maps = new HashMap<Character, Integer>();
int length = str.length();// 为不了每次都调用str的length方法,这里用个临时变量保存起来
Character tempChar;// 字符
Integer tempNumber;// 字符之前出现的次数
for (int i = 0; i < length; i++) {
tempChar = str.charAt(i);
tempNumber = maps.get(tempChar);
if (tempNumber == null) {// 为空,说明还没有该字符的重复,将其之前出现的次数设置为0。
tempNumber = 0;
}
if (++tempNumber == 2) {// 如果重复出现的话,其次数至少是2次。之后的运行就没必要了
System.out.println("第一次出现的重复字符是:" + tempChar);
return;
}
maps.put(tempChar, tempNumber);// 将出现的字符及其数目保存起来。
}
}
}
import java.util.HashSet;
public class Test
{
public static void main(String[] args)
{
HashSet<Character> hs = new HashSet<Character>();
String test = "asfdsfa";
char[] arr = test.toCharArray();
for(int i = 0; i < arr.length; i++)
{
if(!hs.add(arr[i]))
{
System.out.println("index:" + i + " ,value:" + arr[i]);
return;
}
}
}
}