工作小驛

          Ninja!

          BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
            103 Posts :: 0 Stories :: 36 Comments :: 0 Trackbacks

             在我們學(xué)習(xí)數(shù)組那節(jié)課里,我們學(xué)會(huì)了用for迭代數(shù)組里面的各個(gè)元素,這是很方便的,也是在之前的jdk的版本中沒(méi)有的功能。For語(yǔ)句除了循環(huán)和找數(shù)組之外還有,迭代集合類等等功能。這個(gè)for語(yǔ)句它拋棄了Iterator(迭代),使得遍歷集合類變得簡(jiǎn)單。

               看看以前版本的Iterator是怎么做的:

               public void testIterator() throws IOException {

                      List list = getList(); //在某處初始化這個(gè)list

                      for(Iterator i = list.iterator();i.hasNext();){

                      Object listElement = i.next();

                      System.out.println(listElement.toString());

          }} 寫一個(gè)鏈表的迭代,需要這么多代碼。

          而現(xiàn)在就不用了

          public void testFor() {

                  List list = getList();

                  for (Object listElement : list) {

                  System.out.println(listElement.toString());

          }}看看新版本的是不是簡(jiǎn)單多了。

          實(shí)踐:

          import java.io.IOException;

          import java.io.PrintStream;

           

          public class CustomObjectTester {

           //一個(gè)繼承List的對(duì)象

           private GuitarManufacturerList manufacturers;

           public CustomObjectTester() {

              this.manufacturers = new GuitarManufacturerList();

           }

           public void testListExtension(PrintStream out) throws IOException {

              //添加一些字符串

              manufacturers.add("Epiphone Guitars");

              manufacturers.add("Gibson Guitars");

              // for迭代

              for (String manufacturer : manufacturers) {

                out.println(manufacturer);

              }}

           public static void main(String[] args) {

              try {

                CustomObjectTester tester = new CustomObjectTester();

                tester.testListExtension(System.out);

              } catch (Exception e) {

                e.printStackTrace();

              }}}還有一個(gè)類

          import java.util.LinkedList;

          @SuppressWarnings("serial")

          public class GuitarManufacturerList extends LinkedList<String> {

           public GuitarManufacturerList() {

              super();

           }

           public boolean add(String manufacturer) {

              if (manufacturer.indexOf("Guitars") == -1) {

                return false;

              } else {

                super.add(manufacturer);

                return true;

              }}}幾個(gè)此例子打包下載

          如有問(wèn)題請(qǐng)?jiān)L問(wèn)技術(shù)論壇

          posted on 2007-08-10 16:59 王君 閱讀(276) 評(píng)論(0)  編輯  收藏 所屬分類: J2SE
          主站蜘蛛池模板: 广昌县| 灌南县| 兴仁县| 历史| 祁连县| 昌宁县| 江西省| 朔州市| 东港市| 徐闻县| 康定县| 怀仁县| 沙田区| 兴和县| 康平县| 赤峰市| 五寨县| 安国市| 体育| 濮阳市| 修水县| 嘉峪关市| 枣庄市| 西华县| 时尚| 贵州省| 蚌埠市| 酒泉市| 桂东县| 乌兰县| 含山县| 钦州市| 朝阳县| 永泰县| 沐川县| 长寿区| 迭部县| 五峰| 葵青区| 张家口市| 宁武县|