持有对象

迭代器:迭代器是一个对象,他的工作是遍历并选择序列中的对象,迭代器通常被称为轻量级对象,创建他的代价很小,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]

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