迭代對(duì)于JAVA的來(lái)說(shuō)絕對(duì)不陌生。我們常常使用JDK提供的迭代接口進(jìn)行Java集合的迭代。
Iterator iterator = list.iterator(); while(iterator.hasNext()){ String string = iterator.next(); //do something }
迭代其實(shí)我們可以簡(jiǎn)單地理解為遍歷,是一個(gè)標(biāo)準(zhǔn)化遍歷各類容器里面的所有對(duì)象的方法類,它是一個(gè)很典型的設(shè)計(jì)模式。Iterator模式是用于遍歷集合類的標(biāo)準(zhǔn)訪問(wèn)方法。它可以把訪問(wèn)邏輯從不同類型的集合類中抽象出來(lái),從而避免向客戶端暴露集合的內(nèi)部結(jié)構(gòu)。 在沒(méi)有迭代器時(shí)我們都是這么進(jìn)行處理的。如下:
對(duì)于數(shù)組我們是使用下標(biāo)來(lái)進(jìn)行處理的:
int[] arrays = new int[10]; for(int i = 0 ; i < arrays.length ; i++){ int a = arrays[i]; //do something }
對(duì)于ArrayList是這么處理的:
網(wǎng)友評(píng)論