㈠ java list<object>如何去重
List<String>list=newArrayList<>();
/*list.add("abc");
list.add("abc");
list.add("def");
list.add("bcd");*/
Set<String>set=newLinkedHashSet<>();//这种方式保证去重后的元素相对位置不变
//Set<String>set=newHashSet<>();//这种方式去重后元素的位置很有可能变化了
set.addAll(list);
list.clear();
list.addAll(set);
for(Strings:list){
System.out.println(s);
}
整个思路就是利用set中的元素是不重复的,来达到去重的目的
㈡ Java中如何将两个字符串合并,并且把重复的元素去掉,不能用任何排序指令那些,纯手打写出来。
packagetest;
publicclassStringHeBing{
publicstaticStringmerge(Stringstr1,Stringstr2){
intlen=str2.length();
for(inti=0;i<len;i++){
charc=str2.charAt(i);
if(str1.indexOf(c)==-1){
str1=str1.concat(c+"");
}
}
System.err.println(str1);
returnstr1;
}
publicstaticvoidmain(String[]args){
Stringstr1="上海金融大厦";
Stringstr2="上港集团";
merge(str1,str2);
}
}
上面的做法只把加加进来的字符串去重,而未把原来的字符串去重复,下面做了个新的
publicstaticStringmerge1(Stringstr1,Stringstr2){
Stringadd=str1.concat(str2);
Stringresult=add.charAt(0)+"";
for(inti=1;i<add.length();i++){
charc=add.charAt(i);
if(result.indexOf(c)==-1){
result=result.concat(c+"");
}
}
returnresult;
}
㈢ 急求!!!!用java 写一个 字符串去重 的程序!
先通过标点符号分词,然后去掉重复的词语。
String str=“人、药物、疾病、药物、疾病、人、药物、”;
String[] ss=str.split("、");
Map<String,Boolean> sm=new HashMap<String,Boolean>();
List<String> l=new ArrayList<String>();
for(String s:ss){
if(!sm.containsKey(s)){
l.add(s);
sm.put(s,true);
}
最后l就是你去掉重复的词组之后所得的文本。组合起来就行了。
}