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());
}
}
}