1. 程式人生 > >Java學習筆記之Iterator介面

Java學習筆記之Iterator介面

相關:
Collection
ListIterator
定義:集合上的迭代器。基於JDK1.2
函式:

  1. boolean hasNext();如果迭代器含有更多元素,則返回true。常用的方法,遍歷的時候一般用作條件
  2. E next();返回遍歷到的元素。如果迭代器麼有更多元素,丟擲NoSuchElementException。
  3. 第三個方法是一個defaul函式:
    default void remove() {
       	throw new UnsupportedOperationException("remove");
    }
    
    從底層集合中移除此迭代器的最後一個元素,每次呼叫next方法的時候,只能呼叫一次。
    List<
    String>
    linkedList = new LinkedList<>(); for(int i =0;i<100;i++){ linkedList.add("aaa"+i); } Log.w("列印"," "+linkedList.size()); Iterator<String> iterator = linkedList.iterator(); while (iterator.hasNext()){ if(iterator.next().equals("aaa0")) iterator.remove(); } Log.w("列印"," "+
    linkedList.size());
    輸出結果:
    W/列印:  100
    W/列印:  99
    
    規定A:如果iterator不支援remove方法,丟擲UnsupportedOperationException。規定B:如果尚未呼叫next,或者最後一次呼叫next後呼叫了remove(next返回false),丟擲IllegalStateException。
  4. 第四個方法是一個default函式:
    default void forEachRemaining(Consumer<? super E> action) {
        Objects.requireNonNull(action);
    while (hasNext()) action.accept(next()); }
    JDK1.8特性,對剩餘的每個元素進行指定的操作,直到處理完所有元素或引發異常。規定A:如果指定行為為null,丟擲NullPointerException。