一、第一種方法,將集合轉換成陣列,進行迴圈遍歷
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());
}
}
}