cuiyi's blog(崔毅 crazycy)

          記錄點(diǎn)滴 鑒往事之得失 以資于發(fā)展
          數(shù)據(jù)加載中……

          java.util.List 真的會(huì)用么?看能作對(duì)否

          public class DynamicRemove {
            
          private List<String> generateList() {
            String[] figures 
          = new String[]{"1""2""3""4""5""6""7""8""9"};
            List
          <String> list = new ArrayList<String>();
              
          for (String figure : figures) 
                list.add(figure);
            
          return list;
          }

          public void test1() {
            List
          <String> loads = generateList();  
            
          if (null != loads && !loads.isEmpty()) {
              
          for (String load : loads) {
                System.out.println(load);            
                
          if (Integer.valueOf(load).intValue() ==3){
                  loads.remove(load);                        System.out.println(
          "====" + loads.get(2));
                }
              }
                      
              System.out.println(
          "size" + loads.size());    
            }
          }
              
              
          public static void main(String[] args) {
            DynamicRemove test 
          = new DynamicRemove();
            test.test1();
          }

          輸出為:
          你答對(duì)了么

          這樣呢?
          嘿嘿,是這樣么
          輸出呢?
          答案


          posted on 2007-09-14 19:55 crazycy 閱讀(6074) 評(píng)論(11)  編輯  收藏 所屬分類: JavaSE語(yǔ)言

          評(píng)論

          # re: java.util.List 真的會(huì)用么?看能作對(duì)否  回復(fù)  更多評(píng)論   

          能解釋一下嗎?用foreach和用原始的方法有什么不同嗎?
          2008-03-15 08:39 | 日月雨林

          # re: java.util.List 真的會(huì)用么?看能作對(duì)否  回復(fù)  更多評(píng)論   

          @日月雨林

          沒(méi)有不同,無(wú)非是范型的使用,可以減少遍歷編碼量和類型的轉(zhuǎn)化
          2008-03-15 16:31 | crazycy

          # re: java.util.List 真的會(huì)用么?看能作對(duì)否  回復(fù)  更多評(píng)論   

          今天我又遇到了一次,又一次把自己給害了很慘淡
          14:01:49,063 INFO [STDOUT] ------->>>>>>>>objList.size : 21
          14:01:49,069 ERROR [CxcExceptionHandler] Uncaught Error
          java.lang.IndexOutOfBoundsException: Index: 19, Size: 19

          Code::

          List objList = (List)getList(paramId1, paramId2);
          System.out.println("------->>>>>>>>objList.size : " + objList.size());
          if (1) {
          for (int i = 0, n = objList.size(); i < n; i++) {
          XBean dBean = (XBean)objList.get(i);
          Integer objId = (Integer)dBean.get("xid");
          if (objId.compareTo(new Integer("100")) == 0
          || (objId.compareTo(new Integer("200")) == 0)
          objList.remove(dBean);
          }
          }//end if block
          2008-03-17 14:10 | crazycy

          # re: java.util.List 真的會(huì)用么?看能作對(duì)否  回復(fù)  更多評(píng)論   

          個(gè)人覺(jué)得,不是說(shuō)所有的封裝都是好的。
          一個(gè)東西在給你帶來(lái)好處的同時(shí),也會(huì)給你帶來(lái)副作用。
          2008-03-25 14:27 | coffee

          # re: java.util.List 真的會(huì)用么?看能作對(duì)否  回復(fù)  更多評(píng)論   

          與時(shí)俱進(jìn),實(shí)踐中摸索,大家都認(rèn)可的東西,并得以證實(shí)有譜,可以跟進(jìn)
          2008-03-25 20:36 | crazycy

          # re: java.util.List 真的會(huì)用么?看能作對(duì)否  回復(fù)  更多評(píng)論   

          我的意思是,在使用一個(gè)新的東西的時(shí)候,一定要評(píng)估他的不足,切不可因?yàn)楸还拇档暮枚雎粤怂母弊饔茫@種忽略往往會(huì)造成你所設(shè)計(jì)的東西的先天不足而存在致命風(fēng)險(xiǎn)。
          2008-03-26 09:13 | coffee

          # re: java.util.List 真的會(huì)用么?看能作對(duì)否  回復(fù)  更多評(píng)論   

          曉得你的意思。
          但就此而言,代價(jià)無(wú)非是熟悉的挑戰(zhàn)度,和學(xué)習(xí)理解的成本。
          如果這個(gè)都覺(jué)得困難,那閱讀現(xiàn)在很多的與技術(shù)相關(guān)的東西都將有困難。
          頗會(huì)感慨:廉頗老已,雖能飯
          2008-03-26 10:55 | crazycy

          # re: java.util.List 真的會(huì)用么?看能作對(duì)否  回復(fù)  更多評(píng)論   

          如果認(rèn)為代價(jià)是熟悉的挑戰(zhàn),學(xué)習(xí)理解的成本,那就是誤解我的意思了。這些雖然會(huì)成為風(fēng)險(xiǎn),卻往往都是可以見(jiàn)得到的,容易被人評(píng)估到的。
          而最可怕的風(fēng)險(xiǎn)則是隱藏的先天不足的。以Hibernate為例,他提高了開(kāi)發(fā)進(jìn)度,降低了業(yè)務(wù)邏輯與數(shù)據(jù)庫(kù)操作的耦合,增加了系統(tǒng)的層次性,但是卻也帶來(lái)了性能上的先天不足。對(duì)性能要求很高的就應(yīng)該考慮使用其他方案。

          每一種便捷,必然是犧牲另外一種優(yōu)點(diǎn)。決策的時(shí)候不僅僅要看到其優(yōu)點(diǎn),也要看到其缺點(diǎn)。才能確保不會(huì)落下先天的殘疾。

          2008-03-26 17:25 | coffee

          # re: java.util.List 真的會(huì)用么?看能作對(duì)否  回復(fù)  更多評(píng)論   

          呵呵,就你說(shuō)的展開(kāi),任何的東西都是一種折衷,比如說(shuō)技術(shù),往往在一個(gè)可快速開(kāi)發(fā)和長(zhǎng)期維護(hù)的平衡上做取舍,這也是許多很快速開(kāi)發(fā)的語(yǔ)言難以撼動(dòng)java的一個(gè)因素。

          而優(yōu)缺點(diǎn),卻針對(duì)的應(yīng)用的環(huán)境和背景;如果作一個(gè)簡(jiǎn)單的應(yīng)用,卻大動(dòng)干戈的采用框架,不可??;如果做一個(gè)做完功能ok不需要維護(hù)的項(xiàng)目,快速開(kāi)發(fā)如hibernate是一個(gè)很好的選擇;如果是遺留系統(tǒng)或者一個(gè)長(zhǎng)遠(yuǎn)一些如產(chǎn)品一樣的系統(tǒng),就需要充分考慮。

          而如hibernate之類的,并非性能不高,因?yàn)榻Y(jié)合cache技術(shù),可以達(dá)到比jdbc還好的效果,而且相對(duì)來(lái)說(shuō)容易維護(hù)。但是這個(gè)有一個(gè)前提,就是你的團(tuán)隊(duì)里有能真正搞定hibernate的人,而非僅僅如大多數(shù)人停留在會(huì)用或者能用這個(gè)層次上。

          技術(shù)的選擇,優(yōu)缺點(diǎn)很重要,但是所面臨的應(yīng)用場(chǎng)景更為重要,相比之下,過(guò)度考慮也不是一個(gè)可取之路。
          2008-03-26 17:34 | crazycy

          # re: java.util.List 真的會(huì)用么?看能作對(duì)否  回復(fù)  更多評(píng)論   

          拜同。
          2008-03-27 15:53 | coffee

          # re: java.util.List 真的會(huì)用么?看能作對(duì)否  回復(fù)  更多評(píng)論   

          size1
          size2
          CurrentModifyException
          2009-06-02 14:37 | ff
          主站蜘蛛池模板: 沐川县| 东乌珠穆沁旗| 精河县| 博客| 祁门县| 晋州市| 辛集市| 西城区| 迁西县| 澄江县| 昌吉市| 扎鲁特旗| 宜昌市| 琼海市| 沁水县| 无锡市| 宝山区| 康定县| 德格县| 惠水县| 蓬安县| 周口市| 赣州市| 淮北市| 临汾市| 湟中县| 江川县| 洮南市| 酒泉市| 禹州市| 乾安县| 神农架林区| 宁远县| 阳原县| 确山县| 察雅县| 三原县| 泊头市| 辽源市| 烟台市| 望谟县|