隨筆-11  評論-5  文章-1  trackbacks-0

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

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

          ?? 最后總結一下:
          ?無需指定數組大小
          用add增添任意多的元素;
          用size()代替length計算元素的個數;
          用(Employee)a.get(i)代替a[i]訪問元素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();//將得到的“文件名“進行封裝
          ????????????????????????????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 閱讀(1193) 評論(1)  編輯  收藏 所屬分類: Java web

          評論:
          # 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
            回復  更多評論
            
          主站蜘蛛池模板: 泗阳县| 武乡县| 株洲县| 万山特区| 伊吾县| 盱眙县| 许昌市| 台前县| 抚松县| 延寿县| 米泉市| 中牟县| 巴林右旗| 屯门区| 唐河县| 河西区| 盈江县| 济阳县| 错那县| 岳西县| 杂多县| 迁安市| 岱山县| 墨脱县| 古交市| 桦南县| 福贡县| 离岛区| 磐石市| 黄山市| 竹山县| 新余市| 莱西市| 常宁市| 永城市| 虎林市| 乌兰县| 团风县| 磐安县| 南投县| 南宁市|