描述如下:
若干个虚拟机以“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()); }}
新闻热点
疑难解答