持有對象

迭代器:迭代器是一個對象,他的工作是遍歷並選擇序列中的對象,迭代器通常被稱爲輕量級對象,創建他的代價很小,java 的Iterator是能單項移動,這個Iterator只能用來:
1)使用iterator()返回一個Iterator對象,Iterator將準備好返回序列的第一個對象。
2)next()獲得序列中的下一個元素。
3)是hasnext() 檢查序列中是否還有元素。
4)是用remove()將迭代器新進去返回的元素刪除。

class Pet{

    String name = null;

    public Pet(String petname){
        name = petname;
    }

    public void  getname(){
        System.out.println("name:"+name);
    }
}

public class SimpleIteration {

    public static void main(String[] args) {
        List<Pet> petlist = new ArrayList<Pet>();
        petlist.add(new Pet("鸚鵡"));
        petlist.add(new Pet("老鷹"));

        Iterator<Pet> it = petlist.iterator();
        while(it.hasNext()){
            Pet pet = it.next();
            pet.getname();
        }

    }
}

ListIterator 是Iterator的子類型,只能用於訪問List類,可以雙向移動

public class Listiterator {

    public static void main(String[] args) {
        List<Pet> petlist = new ArrayList<Pet>();
        petlist.add(new Pet("鸚鵡"));
        petlist.add(new Pet("老鷹"));

        ListIterator<Pet> ll = petlist.listIterator();
        while(ll.hasNext()){
            Pet pet = ll.next();
            pet.getname();
        }

        ll = petlist.listIterator(1);

        while(ll.hasNext()){
            Pet pet = ll.next();
            pet.getname();
        }
    }
}

LinkedList :實現了基本的List接口,但是它執行某些操作時比Arraylist更高效,但隨機訪問遜色一點。

Set: Set不保存重複的元素,查找是Set中最重要的操作。

public class Setofinteger {

    public static void main(String[] args) {
        Set<Integer> setint = new HashSet<Integer>();

        for(int i = 0;i<10;i++){
            setint.add(new Random().nextInt(10));
        }

        System.out.println(setint);
    }
}

打印的結果是[0, 2, 4, 6, 7, 9]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章