java.util.ListIterator

來源:互聯網
上載者:User

標籤:str   圖片   迭代   size   相同   nbsp   class   指定   引用   

列表迭代器並不持有當前元素的引用,其持有的遊標是位於列表連個元素之間。可以通過調用next()或者previous()返回列表中的元素。一個擁有n個元素的列表擁有n+1個遊標位置,如下:

注意:remove和 set(Object)方法並不是以迭代器的遊標為準,而是以最後一次調用迭代器的next()或者previous()方法的返回的元素為準。

基礎方法
1.boolean hasNext();

當在迭代器正向遍曆仍有可訪問的有效元素時,則返回true,換句話說,如果調用next()方法可以返回一個有效元素時,則會返回true,否則返回false

2.E next();

返回迭代器正向訪問時的下一個元素,並將迭代器遊標進行自增操作。我們可以通過迴圈調用這個方法達到遍曆列表中的目的。同時,我們也可以調用previous()方法來逆向遍曆列表。當我們交替調用next()previous()時,迭代器將返回相同的元素。

3.boolean hasPrevious();

當迭代器逆向遍曆仍有可以訪問的有效元素時,則返回true。也就是說,當調用方法previous()仍然可以返回一個有效元素時,則返回true

4.E previous();

返回逆向遍曆列表的下一個元素,並將迭代器的遊標進行自減操作。

5.int nextIndex();

返回下一次調用next()時返回的元素的下標。當列表迭代器到達列表末尾時,則會回列表長度。

6.int previousIndex();

返回下一次掉調用previous()時返回的元素的下標。當列表迭代器到達列表頭部時,則返回-1。

7.void remove();

刪除最後一次調用next()或者previous()返回的元素。調用該方法有兩個注意點:

  1. 每次調用next()previous()後,僅能調用一次本方法;
  2. 調用本方法前,不可調用add(E)方法;
8.void set(E e);

替換最後一次調用next()或者previous()返回的元素。在調用本方法前,不可調用add(E)remove()方法。

9.void add(E e);

在列表中插入一個新元素。如果next()可以訪問有效元素,則將元素插入到調用next()方法返回的元素之前。即:如果previous()可以訪問有效元素,則將元素插入到調用previous()方法返回的元素之後。當列表為空白時,則插入的元素為列表中唯一的元素。新元素的插入位置為當前迭代器指定的遊標之前,即:插入元素後,調用next()返回元素不受影響,而調用previous()函數,則會返回剛剛插入的新元素。調用這個方法後,會使調用nextIndex()previousIndex()的結構都增大1。插入元素前後的如下:

java.util.ListIterator

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.