㈠ 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就是你去掉重復的片語之後所得的文本。組合起來就行了。
}