问题描述
publicstaticvoidmain(String[]args){Listlist=newArrayList();list.add("亞洲冠軍盃特別投注");list.add("亞洲冠軍盃");list.add("亞洲足聯盃");list.add("亞洲足聯盃特別投注");list.add("法國聯賽U19");list.add("法國聯賽U19特別投注");list.add("土耳其A2聯賽U19");list.add("馬來西亞超級聯賽特別投注");list.add("馬來西亞超級聯賽");for(inti=0;i<list.size();i++){System.out.println(list.get(i));}}我想要的是比如:“亞洲冠軍盃特別投注”就放在“亞洲冠軍盃”的后面。而如果比如:“亞洲冠軍盃特別投注”在“亞洲冠軍盃”的后面的话就不用动,还是在原来的位置不变,别的也不变。只是要特別投注在相应赛事的后面
解决方案
解决方案二:
有人来帮帮忙不
解决方案三:
这个不是字符串长度不一样么互换下就好了记得匹配下前面几个字符串是否一样
解决方案四:
publicstaticvoidmain(String[]args){Listlist=newArrayList();list.add("亞洲冠軍盃特別投注");list.add("亞洲冠軍盃");list.add("亞洲足聯盃");list.add("亞洲足聯盃特別投注");list.add("法國聯賽U19");list.add("法國聯賽U19特別投注");list.add("土耳其A2聯賽U19");list.add("馬來西亞超級聯賽特別投注");list.add("馬來西亞超級聯賽");Collections.sort(list);for(inti=0;i<list.size();i++){System.out.println(list.get(i));}}
解决方案五:
这样不行我试过了
解决方案六:
写个比较器publicclassComimplementsComparator<String>{@Overridepublicintcompare(Stringo1,Stringo2){if(o1.contains(o2)&&o1.contains("特別投注")){return-1;}return0;}publicstaticvoidmain(String[]args){List<String>list=newArrayList<String>();list.add("亞洲冠軍盃特別投注");list.add("亞洲冠軍盃");list.add("亞洲足聯盃");list.add("亞洲足聯盃特別投注");list.add("法國聯賽U19");list.add("法國聯賽U19特別投注");list.add("土耳其A2聯賽U19");list.add("馬來西亞超級聯賽特別投注");list.add("馬來西亞超級聯賽");Collections.sort(list);for(inti=0;i<list.size();i++){System.out.println(list.get(i));}}}
解决方案七:
List<String>list=newArrayList<String>();list.add("亞洲冠軍盃特別投注");list.add("亞洲冠軍盃");list.add("亞洲足聯盃");list.add("亞洲足聯盃特別投注");list.add("法國聯賽U19");list.add("法國聯賽U19特別投注");list.add("土耳其A2聯賽U19");list.add("馬來西亞超級聯賽特別投注");list.add("馬來西亞超級聯賽");Stringstr1=null;Stringstr2=null;for(inti=1;i<list.size();i++){str1=list.get(i-1);str2=list.get(i);if(str1.matches(str2+"....")){list.set(i-1,str2);list.set(i,str1);}}for(inti=0;i<list.size();i++){System.out.println(list.get(i));}
解决方案八:
importjava.util.ArrayList;importjava.util.Collections;importjava.util.List;publicclassTest{publicstaticvoidmain(String[]args){Listlist=newArrayList();list.add("亞洲冠軍盃特別投注");list.add("亞洲冠軍盃");list.add("亞洲足聯盃");list.add("亞洲足聯盃特別投注");list.add("法國聯賽U19");list.add("法國聯賽U19特別投注");list.add("土耳其A2聯賽U19");list.add("馬來西亞超級聯賽特別投注");list.add("馬來西亞超級聯賽");Collections.sort(list);//使用Collections实用工具里的排序函数进行排序for(inti=0;i<list.size();i++){System.out.println(list.get(i));}}}
解决方案九:
又是字符串的比较呀。。。。
解决方案十:
5楼写的不错,只是在排序时没有使用比较器。
解决方案十一:
统统转成utf-8码再去排,5楼方法就可以
解决方案十二:
使用外部比较器
解决方案十三:
List本来就是有顺序的,怎么进去,出来时顺序不变(前提没有sort)