描述如下:
若干个虚拟机以“2#1c#10G#1M"标识,现需要拆分每个字符串标识,按照#拆分,放到对应的容器中,代码如下:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class Test {
public static void main(String[] args) {
String ar1[] ={"2#1c#10G#1M","4#2c#11G#12M","6#3c#12G#13M","8#4c#13G#14M","2#11c#14G#15M","4#12c#15G#16M","6#13c#16G#17M","8#14c#17G#18M"};
Set<String> strings = new HashSet<String>();
List<List> name1=new ArrayList();
List<List> name2=new ArrayList();
List<List> name3=new ArrayList();
Map map=new HashMap();
//list中的索引
int count=-1;
for(String s:ar1){
String tem[] = s.split("#");
if( !strings.contains(tem[0])){
strings.add(tem[0]);
count++;
map.put(tem[0], count);
//执行name的list中的存储
List<String> listTem=new ArrayList();
listTem.add(tem[1]);
name1.add(listTem);
List<String> listTem1=new ArrayList();
listTem1.add(tem[2]);
name2.add(listTem1);
List<String> listTem2=new ArrayList();
listTem2.add(tem[3]);
name3.add(listTem2);
}else{
int index=(int) map.get(tem[0]);
name1.get(index).add(tem[1]);
name2.get(index).add(tem[2]);
name3.get(index).add(tem[3]);
}
}
System.out.println(name1.toString());
System.out.println(name2.toString());
System.out.println(name3.toString());
}
}