1.toArray()方法(很少使用)
将集合转换成数组
Object[] obj = c.toArray() ;
for(int x = 0 ; x < obj.length ; x ++) {
String s = (String) obj[x] ;
System.out.println(s.length());
}
2.Iterator iterator() :Collection迭代器
Iterator<Student> it = li.iterator();
while(it.hasNext()) {
Student str = it.next();
System.out.println(str.getName()+"--"+str.getAge());
}
3.普通for循环
size()+get(int index)相结合
for(int x=0;x<li.size();x++) {
Student sss = li.get(x);
System.out.println(sss.getName()+"---"+sss.getAge());
}
4.ListIterator listIterator() :列表迭代器
ListIterator lit = li.listIterator();
while(lit.hasNext()) {
Student stu = (Student) lit.next();
System.out.println(stu.getName()+"--"+stu.getAge());
}
5.增强型for遍历
目的:为了替代迭代器,简化书写方式
遍历的时候集合里的对象不能为空值(null)
for (Student st : li) {
System.out.println("姓名为:"+st.getName());
}
将几种遍历通过具体实例来使用
Student学生类
public class Student {
private String name;
private int age;
public Student() {
super();
}
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Student [name=" + name + ", age=" + age + "]";
}
}
具体实现类
import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;
import com.collect.Student;
public class StudentListTest {
public static void main(String[] args) {
ArrayList<Student> li = new ArrayList<Student>();
li.add(new Student("廉颇",22));
li.add(new Student("赵牧",23));
li.add(new Student("白起",24));
li.add(new Student("王翦",25));
//遍历 Iterator iterator() :Collection迭代器
Iterator<Student> it = li.iterator();
while(it.hasNext()) {
Student str = it.next();
System.out.println(str.getName()+"--"+str.getAge());
}
System.out.println("----------------------------------");
//增强型for遍历
for (Student st : li) {
System.out.println("姓名为:"+st.getName()+"-------------"+"年龄为:"+st.getAge());
}
System.out.println("---------------------------");
//普通for遍历 普通for循环:size()+get(int index)相结合
for(int x=0;x<li.size();x++) {
Student sss = li.get(x);
System.out.println(sss.getName()+"---"+sss.getAge());
}
System.out.println("---------------------------------------");
//列表迭代器 ListIterator listIterator() :列表迭代器
ListIterator lit = li.listIterator();
while(lit.hasNext()) {
Student stu = (Student) lit.next();
System.out.println(stu.getName()+"--"+stu.getAge());
}
}
}