List的三个子类比较与遍历集合的方式

 

ArrayList底层结构为数组,查询快,增删慢,线程不安全,效率高。

Vector底层结构为数组,查询快,增删慢,线程安全,效率低。

LinkedList的底层数据结构为链表,查询慢,增删快,线程不安全,效率高

遍历:

首先,我们要先建一个类,

通过集合的方式对该类进行遍历

public class Student {
    private String name;
    private int age;
    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;
    }
    public Student() {
    }
    @Override
    public String toString() {
        return "Student{" +
                "name=" + name +
                ", age=" + age +
                '}'; }}

1.使用迭代器遍历

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class StudentTest {
    public static void main(String[] args) {
        Student student2 = new Student("离", 21);
        Student student1 = new Student("大师", 31);
        ArrayList<Student> students = new ArrayList<>();
        students.add(student2);
        students.add(student1);
        Iterator<Student> iterator = students.iterator();
        while (iterator.hasNext()){
            Student s=iterator.next();
            System.out.println(s.getAge()+s.getName());
        }
    }
    }


2使用列表迭代器遍历

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class StudentTest {
    public static void main(String[] args) {
        Student student2 = new Student("离", 21);
        Student student1 = new Student("大师", 31);
        ArrayList<Student> students = new ArrayList<>();
        students.add(student2);
        students.add(student1);
        ListIterator<Student> iterator = students.listIterator();
        while (iterator.hasNext()){
            Student s=iterator.next();
            System.out.println(s.getAge()+s.getName());
        }
    }
    }

 3使用size()和get()方法遍历

public class StudentTest {
    public static void main(String[] args) {
        Student student2 = new Student("离", 21);
        Student student1 = new Student("大师", 31);
        ArrayList<Student> students = new ArrayList<>();
        students.add(student2);
        students.add(student1);
        for(int i=0;i<students.size();i++){
            Student s=students.get(i);
            System.out.println(s);
        }
    }
    }

 4使用增强for遍历

public class StudentTest {
    public static void main(String[] args) {
        Student student2 = new Student("离", 21);
        Student student1 = new Student("大师", 31);
        ArrayList<Student> students = new ArrayList<>();
        students.add(student2);
        students.add(student1);
        for(Student s:students){
            System.out.println(s.getAge()+s.getName());
        }
    }
    }

猜你喜欢

转载自blog.csdn.net/weixin_42827269/article/details/81359773