今天要做一個根據字串分組,然後集體執行一個操作,想了一上午,動態建立數組什麼的,最後還是用了list。
List allList=new ArrayList();
String m1="a123_x1";
String m2="a124_x1";
String m3="a125_x2";
String m4="a126_x2";
String m5="a127_x3";
String m6="a128_x3";
String m7="a129_x3";
allList.add(m1);
allList.add(m2);
allList.add(m3);
allList.add(m4);
allList.add(m5);
allList.add(m6);
allList.add(m7);
String sufxList="";
for(int i=0;i<allList.size();i++){
String picId =(String) allList.get(i);
String sufx = picId.substring(picId.lastIndexOf("_")+1);
String id = picId.substring(0,picId.lastIndexOf("_"));
String aaj="";
if(sufxList.indexOf(sufx)==-1){
sufxList=sufxList +"&" +sufx; //如果沒有重複的尾碼,也就是第一次出現,則把尾碼加入進來。
}
System.out.println(sufx + "-------------"+id);
}
System.out.println("sufxList.................."+ sufxList);
String[] aa=sufxList.split("&");
//System.out.println("aa.length============"+ (aa.length));
// if(aa.length==4){
// System.out.println("aa[]........"+ aa[3]);
// }
for(int j=1;j<aa.length;j++){
List<String> list=new ArrayList();
//System.out.println("aa===="+ aa[j]);
//aaj=aa[j];
System.out.println("當查詢含有“"+aa[j]+ "“時");
for(int n=0;n< 7;n++){
String memb=(String)allList.get(n);
//System.out.println("aaj------------"+aaj);
if(memb.indexOf(aa[j])!=-1){ //說明裡面有X1/X2/x3,所以放入X1組裡去
list.add(memb);
System.out.println("list的長度是。。。。。。。。。。。。"+list.size());
}
}
for(int r=0;r<list.size();r++){
System.out.println("list每個元素。。。。。。。。"+ list.get(r));
}
}
執行結果為:
x1-------------a123
x1-------------a124
x2-------------a125
x2-------------a126
x3-------------a127
x3-------------a128
x3-------------a129
sufxList..................&x1&x2&x3
當查詢含有“x1“時
list的長度是。。。。。。。。。。。。1
list的長度是。。。。。。。。。。。。2
list每個元素。。。。。。。。a123_x1
list每個元素。。。。。。。。a124_x1
當查詢含有“x2“時
list的長度是。。。。。。。。。。。。1
list的長度是。。。。。。。。。。。。2
list每個元素。。。。。。。。a125_x2
list每個元素。。。。。。。。a126_x2
當查詢含有“x3“時
list的長度是。。。。。。。。。。。。1
list的長度是。。。。。。。。。。。。2
list的長度是。。。。。。。。。。。。3
list每個元素。。。。。。。。a127_x3
list每個元素。。。。。。。。a128_x3
list每個元素。。。。。。。。a129_x3
這樣就可以對每一組進行操作了。