日期:2014-05-18  浏览次数:20826 次

谁能帮忙,急!!
List   tempList   =   new   ArrayList();//   明細部リスト

for(int   i   =   0   ;   i   <meisaiList.size()   ;   i++   ){
                  Map   tmp1Map   =   new   HashMap();
                  Map   tmp2Map   =   new   HashMap();
                  Map   tmp3Map   =   new   HashMap();
String   tmp1   =   " ";
String   tmp2   =   " ";
String   tmp3   =   " ";
for(int   j=0;   j   <   meisaiList.size()-i-1;   j++){

tmp1Map   =   (Map)meisaiList.get(j);
tmp2Map   =   (Map)meisaiList.get(j+1);
tmp1   =tmp1Map.get(insertCols[0]).toString();
tmp2   =tmp2Map.get(insertCols[0]).toString();
if(tmp1.compareTo(tmp2)   >   0){
tmp3   =   tmp1;
tmp3Map   =   tmp1Map;
tmp1   =   tmp2;
tmp1Map   =   tmp2Map;
tmp2   =   tmp3;
tmp2Map   =   tmp3Map;
}

tempList.add(i,tmp1Map);
tempList.add(i+1,tmp2Map);
}
}
为什么我指定了每次插入list的位置,为什么list的大小还会不断的自增?


------解决方案--------------------
后面的顺移么,很正常啊
像一个链表,插入一个新节点,那后面的就链到新节点上去了,size当然还是会增长的
a-> b-> null
在位置1(0-based)插入‘c’
a-> c-> b-> null
楼主认为c会代替b?,那就不叫插入了