1,for循环
Collection<Character> list = new ArrayList<Character>();
list.add('a');
list.add('b');
list.add('c');
System.out.println(list);//[a, b, c]
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
ArrayList和List在使用for循环遍历数组的时候是有差别的,List需要想把集合转为数组,之后再去遍历.
而ArrayList不同,其可以通过独有的get(index)方法直接获取某下标的元素
2,增强for循环
Collection<String> liStrings = new ArrayList<String>();
liStrings.add("张三");
liStrings.add("张四");
liStrings.add("张五");
//增强for循环
for(String s: liStrings) {
System.out.println(s);
}
增强for循环格式如上,原来的条件语变成了:
(<泛型> 变量名称 : 要遍历集合名)
如上代码: 第一次循环取出集合liStrings的第一个元素,并赋值个s ,之后在对这个元素做出你想要的处理方式
3,迭代器
//使用迭代器
Collection<String> list = new ArrayList<String>();
list.add("张三");
list.add("李四");
list.add("马五");
//list.iterator();返回此集合中元素的迭代器
//将集合变成了一个迭代器
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()) {
System.out.println(iterator.next());
}
如上代码:Iterator<String> iterator = list.iterator();
List.iterator()方法返回的是一个迭代器Iterator<T>对象,这个方法可以获得一个游标,默认游标在最前方,该对象有一个方法叫hasNext(),起作用是判断该游标游标后边是否有元素,有的话返回true,不存在返回false; 当游标后又元素进入while循环内部.
Iterator<T>还有一个next()方法,其作用是打印游标后的一个元素,并将游标后移 一位