Collection集合的遍歷

你的镁偷走了我的锌發表於2024-10-15

一、第一種方法,將集合轉換成陣列,進行迴圈遍歷

public class CollectionDemo3 {
    public static void main(String[] args) {
        Collection c1=new ArrayList();
        c1.add("java");
        c1.add("python");
        c1.add("list");
        c1.add("hive");
        c1.add("world");
        System.out.println(c1);
        Object[] objects=c1.toArray();
        for(int i=0;i< objects.length;i++){
            Object obj=objects[i];
            String s1=(String)obj;
            System.out.println(obj+"-"+s1.length());
        }
        //這裡可以使用增強for迴圈來寫
//        for (Object object : objects) {
//            String s1=(String)object;
//            System.out.println(object+"-"+s1.length());
//        }
    }
}

二、第二種方法:使用迭代器進行遍歷

/*
    Iterator iterator() 迭代器,集合的專用遍歷方式

 */
public class CollectionDemo4 {
    public static void main(String[] args) {
        Collection c1 = new ArrayList();
        c1.add("hello");
        c1.add("world");
        c1.add("java");
        c1.add("hadoop");
        c1.add("world");



//        Collection型別的集合本身是不可以直接遍歷的
//        需要生成對應的迭代器,迭代器中儲存了集合中的元素
//        將來遍歷迭代器就可以獲取集合中的元素了
//        生成迭代器
        Iterator iterator = c1.iterator(); // new Itr()
//        System.out.println(iterator.next());
//        System.out.println(iterator.next());
//        System.out.println(iterator.next());
//        System.out.println(iterator.next());
//        System.out.println(iterator.next());
//        System.out.println(iterator.next()); // NoSuchElementException
        //每一個迭代器,都有一個獨立指標,每呼叫一次next()方法,就會向後移動一次指標取資料
        //如何判斷下一個位置上是否有元素呢?
        while (iterator.hasNext()){  //hasNext()用來判斷下一個位置上是否還有元素,要是有就返回ture,沒有就返回false
            Object obj = iterator.next();
            String s = (String)obj;
            System.out.println(s+"-"+s.length());
        }

    }
}

相關文章