隨筆-11  評(píng)論-5  文章-1  trackbacks-0

          ?? 數(shù)組和數(shù)組列表之間有著重大的區(qū)別。數(shù)組是Java語(yǔ)言的一個(gè)特征,對(duì)于每個(gè)元素類型T,都有數(shù)組類型T[];然而,ArrayList類是個(gè)定義java.util包中的類庫(kù)。這是一個(gè)存放object類型元素的"普通性"的類型。要注意的是,要從數(shù)組列表中提取元素時(shí),需要進(jìn)行類型轉(zhuǎn)換。
          ? 使用add方法可以向數(shù)組列表中添加新元素:
          ?? ArrayList staff = new ArrayList();
          ?? staff.add(new Employee(....));
          ?? staff.add(new Employee(....));
          ?? ArrayList類管理了一個(gè)Object引用的內(nèi)部數(shù)組。最終,可能會(huì)用完數(shù)組的空間。如果調(diào)用了add,而內(nèi)部數(shù)組已經(jīng)滿了,數(shù)組列表將自動(dòng)創(chuàng)建了一個(gè)更大的數(shù)組,并自動(dòng)把小數(shù)組中的對(duì)象拷貝到大數(shù)組中
          ? Size方法返回?cái)?shù)組列表的實(shí)際元素個(gè)數(shù)
          ??? staff.size()??? 它等價(jià)于數(shù)組a的a.length???
          ???訪問(wèn)數(shù)組列表元素
          因?yàn)?ArrayList類不是Java語(yǔ)言的一部分,它只是個(gè)提供在標(biāo)準(zhǔn)庫(kù)中、由某人編寫(xiě)的工具類,并不像在訪問(wèn)數(shù)組元素時(shí)可以使用[]語(yǔ)法那

          樣,要存取或改變數(shù)組元素,你必須使用get和set方法
          ?? 要設(shè)置第i個(gè)元素,需要使用:
          ?? staff.set(i,harry);
          得到數(shù)組列表元素要更復(fù)雜一些,因?yàn)間et方法返回的類型是Object,你還需要把它轉(zhuǎn)換為想要的類型
          ?? Employee e = (Employee)staff.get(i); 它等價(jià)于Employee e = a[i];

          ?? 最后總結(jié)一下:
          ?無(wú)需指定數(shù)組大小
          用add增添任意多的元素;
          用size()代替length計(jì)算元素的個(gè)數(shù);
          用(Employee)a.get(i)代替a[i]訪問(wèn)元素i;

          public ?Collection?setRollBack(QueueVB?job)? throws ?CustomException
          ????
          {
          ????????
          ????????String?sqlselect?
          = ? " select?FileName?from?JobQueue?where?BatchNum= " + job.getBatchNum() + " ?and?DocTypeID= " + job.getDocTypeID() + " and?JobState='6' " ;
          ????????String?sql?
          = ? " update?JobQueue?set?JobState= " + JobState.SAVE + " ?where?BatchNum= " + job.getBatchNum() + " ?and?DocTypeID= " + job.getDocTypeID() + " ?and?JobNum= " + job.getJobNum() + "" ;
          ????????ArrayList?array
          = new ?ArrayList();
          ????????System.out.println(sql);
          ????????????????
          try
          ????????????????
          {
          ????????????????????getConnection
          = ConnectionLocator.getInstance().getConnection(strJNDI);
          ????????????????????ResultSet?rs
          = null ;
          ????????????????????
          if (getConnection != null )
          ????????????????????
          {
          ????????????????????????PreparedStatement?pstmt1
          = getConnection.prepareStatement(sqlselect);
          ????????????????????????PreparedStatement?pstmt
          = getConnection.prepareStatement(sql);
          ????????????????????????
          ????????????????????????rs?
          = ?pstmt1.executeQuery();
          ????????????????????????pstmt.executeUpdate();
          ????????????????????????
          while (rs.next())
          ????????????????????????
          {
          ????????????????????????????String?fileName?
          = ?rs.getString( " FileName " );
          ????????????????????????????FileNameVB?filenameVB?
          = ? new
          ?FileNameVB();//將得到的“文件名“進(jìn)行封裝
          ????????????????????????????filenameVB.setFileName(fileName);
          ????????????????????????????array.add(filenameVB);
          ????????????????????????}

          ????????????????????????
          try
          ????????????????????????
          {
          ????????????????????????????pstmt.close();
          ????????????????????????}

          ????????????????????????
          catch (SQLException?e)
          ????????????????????????
          { throw ? new ?CustomException(e.getMessage(), " exs " );}
          ????????????????????????
          try
          ????????????????????????
          {
          ????????????????????????????getConnection.close();
          ????????????????????????}

          ????????????????????????
          catch (SQLException?e)
          ????????????????????????
          { throw ? new ?CustomException(e.getMessage(), " exs " );}
          ????????????????????}

          ????????????????}

          ????????????????
          catch (SQLException?e)
          ????????????????
          { throw ? new ?CustomException(e.getMessage(), " ex00050 " );}
          ????????????????
          return ?array;
          ????}
          讀取arraylist里的值
          Collection?m??=?inputFacade.setRollBack(job);
          ????????????????????ArrayList?array?
          =
          ?(ArrayList)m;
          ????????????????????
          for(int?i=0;i<array.size();i++
          )
          ????????????????????
          {???
          ????????????????????????filenameVB?
          =?(FileNameVB)array.get(i);
          posted on 2006-09-16 10:28 Crespo 閱讀(1196) 評(píng)論(1)  編輯  收藏 所屬分類: Java web

          評(píng)論:
          # re: java.util.ArrayList 2006-09-25 10:04 | sunyi
          hahahah

          u just do a such professional blog
          can't understand
          huhuhuhuhu


          best wishes always
            回復(fù)  更多評(píng)論
            

          silently Love^..^

          <2006年9月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          1234567

          常用鏈接

          留言簿(4)

          隨筆分類(5)

          隨筆檔案(11)

          文章分類(1)

          文章檔案(1)

          最新隨筆

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 金门县| 平远县| 阳曲县| 昆明市| 河源市| 永年县| 环江| 长乐市| 师宗县| 桑日县| 山阴县| 虞城县| 沅陵县| 枣庄市| 淮滨县| 长垣县| 安徽省| 肇州县| 舒城县| 博野县| 丁青县| 济南市| 买车| 三都| 陆丰市| 邯郸市| 东源县| 巴楚县| 双流县| 台东县| 神木县| 大城县| 平塘县| 辽宁省| 济南市| 唐河县| 三台县| 江孜县| 高平市| 满城县| 福建省|