import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* @author liujian
* 删除字符串中字符个数最少的字符
* @time:2018年3月29日
*/
public class test2{
static String deleteMinChar(String str){
//判断字符串是否为空
if(str==null ||str.length()==0){
return null;
}
//定义一个Map
Map<Character, Integer> map=new HashMap<>();
//遍历字符串,将每个字符当做键,值初始化为零
for(int i=0;i<str.length();i++){
map.put(str.charAt(i), 0);
}
//由于Map的键后面覆盖前面的特点,每当后面覆盖时,值加一,值即是字符的个数
for(int i=0;i<str.length();i++){
map.put(str.charAt(i), map.get(str.charAt(i))+1);
}
//获得int类型最大的数值
int min=Integer.MAX_VALUE;
//遍历Map集合,判断其中字符对应的最小值,赋给变量min
Set<Character> keySet=map.keySet();
for(char s:keySet)
if(map.get(s)<min){
min=map.get(s);
}
//建立一个集合,将所有值对于最小值的键字符添加到集合中
List list=new ArrayList();
for(char s2:keySet){
if(map.get(s2)==min){
list.add(s2);
}
}
//遍历集合,将每一个字符替换为"",相当于删除
for(int i=0,k=list.size();i<k;i++){
str=str.replaceAll(String.valueOf(list.get(i)),"");
}
return str;
}
public static void main(String[] args) {
String str="asaassasddcc";
System.out.println(deleteMinChar(str));
}
}
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* @author liujian
* 删除字符串中字符个数最少的字符
* @time:2018年3月29日
*/
public class test2{
static String deleteMinChar(String str){
//判断字符串是否为空
if(str==null ||str.length()==0){
return null;
}
//定义一个Map
Map<Character, Integer> map=new HashMap<>();
//遍历字符串,将每个字符当做键,值初始化为零
for(int i=0;i<str.length();i++){
map.put(str.charAt(i), 0);
}
//由于Map的键后面覆盖前面的特点,每当后面覆盖时,值加一,值即是字符的个数
for(int i=0;i<str.length();i++){
map.put(str.charAt(i), map.get(str.charAt(i))+1);
}
//获得int类型最大的数值
int min=Integer.MAX_VALUE;
//遍历Map集合,判断其中字符对应的最小值,赋给变量min
Set<Character> keySet=map.keySet();
for(char s:keySet)
if(map.get(s)<min){
min=map.get(s);
}
//建立一个集合,将所有值对于最小值的键字符添加到集合中
List list=new ArrayList();
for(char s2:keySet){
if(map.get(s2)==min){
list.add(s2);
}
}
//遍历集合,将每一个字符替换为"",相当于删除
for(int i=0,k=list.size();i<k;i++){
str=str.replaceAll(String.valueOf(list.get(i)),"");
}
return str;
}
public static void main(String[] args) {
String str="asaassasddcc";
System.out.println(deleteMinChar(str));
}
}