Collection接口 List 类集合的三种遍历 list三个字类的特性

Collection接口‘

从这里引出一个容器——集合
集合和数组的区别
集合长度可变
数组长度开始时以固定
集合可以储存多种类型元素
数组只能存储单一类型

List类 集合的三种遍历

public static void main(String[] args) {
Student s1 = new Student(“张三”, 25);
Student s2 = new Student(“李四”, 55);
Student s3 = new Student(“王麻子”, 15);
List a = new ArrayList();
a.add(s1);
a.add(s2);
a.add(s3);
Iterator i = a.iterator();//迭代
while (i.hasNext()){
Object next = i.next();
Student student =(Student)next;
System.out.println(student.getName()+student.getAge());
}
for (int i1 = 0; i1 < a.size(); i1++) {//for循环
Object o = a.get(i1);
Student student = (Student)o;
System.out.println(student.getName() + student.getAge());

    }
    ListIterator listIterator = a.listIterator();
    while (listIterator.hasNext()){//列表迭代
        Object next = listIterator.next();
        Student student = (Student) next;
        System.out.println(student.getName() + student.getAge());
    }
}

}
class Student{
private String name;
private int age;
public Student() {
}

public Student(String name, int age) {
    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;
}

在集合元素增添上用迭代自己的add方法就不会报错

public static void main(String[] args) {

    Student s1 = new Student("张三", 25);
    Student s2 = new Student("李四", 55);
    Student s3 = new Student("王麻子", 15);
    List a = new ArrayList();
    a.add(s1);
    a.add(s2);
    a.add(s3);
    Iterator i = a.iterator();//迭代
    while (i.hasNext()){
        Object next = i.next();
       Student student =(Student)next;
        System.out.println(student.getName()+student.getAge());
    }
    for (int i1 = 0; i1 < a.size(); i1++) {//for循环
        Object o = a.get(i1);
      Student student = (Student)o;
        System.out.println(student.getName() + student.getAge());

    }
    ListIterator listIterator = a.listIterator();
    while (listIterator.hasNext()){//列表迭代
        Object next = listIterator.next();
        Student student = (Student) next;
        System.out.println(student.getName() + student.getAge());
    }
}

}
class Student{
private String name;
private int age;
public Student() {
}

public Student(String name, int age) {
    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;
}

list三个字类的特性

ArrayList:
底层数据结构是数组,查询快,增删慢。
线程不安全,效率高。
Vector:
底层数据结构是数组,查询快,增删慢。
线程安全,效率低。
LinkedList:
底层数据结构是链表,查询慢,增删快。
线程不安全,效率高
在选择的时候看性质选择

猜你喜欢

转载自blog.csdn.net/weixin_43791033/article/details/85713358