一、实验内容
编写程序,将一个字符串中的单词解析出来,然后将它们添加到一个HashSet中,并输出每个重复的单词,不同单词的个数及消除重复单词后的列表;
二、代码示例
import java.util.HashSet;
import java.util.Set;
import java.util.*;
public class SetDemo {
public static void main(String[] args) {
int num=0;
String str = "afhgfbvjkinjkmlpjuvmpfc";
System.out.println("原字符串:" + str);
Set<Character> erepeteat = new HashSet<Character>(); ///存放消除重复后的单词
Set<Character> repeteatword = new HashSet<Character>(); ///存放重复的单词
Set<Character> unrepeteatword = new HashSet<Character>(); ///存放不重复的单词
//将字符串转化为字符数组
char[] word = str.toCharArray();
for(char w : word) {
boolean b = erepeteat.add(w);
if(!b) {
repeteatword.add(w);
}
}
//消除重复后的字符给unrepetratword
unrepeteatword.addAll(erepeteat);
//不重复单词 = 消除重复后的单词-重复的单词
unrepeteatword.removeAll(repeteatword);
System.out.println("--------------------------------");
System.out.println("消除重复后的单词:");
for(char c : erepeteat)
System.out.println(c + " ");
System.out.println("--------------------------------");
System.out.println("重复的单词:");
for(char c : repeteatword)
System.out.println(c + " ");
System.out.println("--------------------------------");
System.out.println("不重复的单词:");
for(char c : unrepeteatword) {
System.out.println(c + " ");
num = num+1;
}
System.out.println("不重复的单词有" + num + "个");
}
}
三、实验结果