java中的List接口实现类的遍历方式

List接口实现类主要有:ArrayList,LinkedList,Vector【三者区别,可以看看java集合.xmind文件】

  一. ArrayList类的遍历:

 1 public class ListBianLiTest {
 2     public static void main(String[] args) {
 3         ArrayList arrayList = new ArrayList();
 4         arrayList.add("hello");
 5         arrayList.add("world");
 6         arrayList.add("java");
 7         arrayList.add(true);
 8         arrayList.add(new Person("大白",20));
 9 
10         System.out.println("===迭代器循环===");
11         // 第一种方式:生成迭代器
12         // 当需要迭代器再次遍历时,重置迭代器,iterator = arrayList.iterator();
13         Iterator iterator = arrayList.iterator();
14         // 快捷键:itit
15         while (iterator.hasNext()) {
16             // 遍历过程中如果想调用指定对象的特定方法,则需要向下转型。【多态】
17             Object obj =  iterator.next();
18             if(obj instanceof Person){
19                 Person person = (Person) obj;
20                 person.study();
21             }
22             System.out.println(obj);
23         }
24 
25         System.out.println("===增强for循环===");
26         // 第二种方式:增强for循环
27         // 快捷键 Xx.for,其实质就是迭代器。
28         for (Object o : arrayList) {
29             System.out.println(o);
30         }
31 
32         System.out.println("===增强for循环===");
33         // 第三种方式:for循环
34         for (int i = 0; i < arrayList.size(); i++) {
35             System.out.println(arrayList.get(i));
36         }
37 
38     }
39 }
40 
41 class Person {
42     private String name;
43     private int age;
44 
45     public Person(String name, int age) {
46         this.name = name;
47         this.age = age;
48     }
49 
50     public void study(){
51         System.out.println(name + "要好好学习java");
52     }
53 
54     @Override
55     public String toString() {
56         return "Person{" +
57                 "name='" + name + '\'' +
58                 ", age=" + age +
59                 '}';
60     }
61 }

  二. Vector类的遍历

 1 public class ListBianLiTest {
 2     public static void main(String[] args) {
 3         Vector arrayList = new Vector();
 4         arrayList.add("hello");
 5         arrayList.add("world");
 6         arrayList.add("java");
 7         arrayList.add(true);
 8         arrayList.add(new Person("大白",20));
 9 
10         System.out.println("===迭代器循环===");
11         // 第一种方式:生成迭代器
12         // 当需要迭代器再次遍历时,重置迭代器,iterator = arrayList.iterator();
13         Iterator iterator = arrayList.iterator();
14         // 快捷键:itit
15         while (iterator.hasNext()) {
16             // 遍历过程中如果想调用指定对象的特定方法,则需要向下转型。【多态】
17             Object obj =  iterator.next();
18             if(obj instanceof Person){
19                 Person person = (Person) obj;
20                 person.study();
21             }
22             System.out.println(obj);
23         }
24 
25         System.out.println("===增强for循环===");
26         // 第二种方式:增强for循环
27         // 快捷键 Xx.for,其实质就是迭代器。
28         for (Object o : arrayList) {
29             System.out.println(o);
30         }
31 
32         System.out.println("===增强for循环===");
33         // 第三种方式:for循环
34         for (int i = 0; i < arrayList.size(); i++) {
35             System.out.println(arrayList.get(i));
36         }
37 
38     }
39 }
40 
41 class Person {
42     private String name;
43     private int age;
44 
45     public Person(String name, int age) {
46         this.name = name;
47         this.age = age;
48     }
49 
50     public void study(){
51         System.out.println(name + "要好好学习java");
52     }
53 
54     @Override
55     public String toString() {
56         return "Person{" +
57                 "name='" + name + '\'' +
58                 ", age=" + age +
59                 '}';
60     }
61 }

  三. LinkedList类的遍历

 1 public class ListBianLiTest {
 2     public static void main(String[] args) {
 3         LinkedList linkedList = new LinkedList();
 4         linkedList.add("hello");
 5         linkedList.add("world");
 6         linkedList.add("java");
 7         linkedList.add(true);
 8         linkedList.add(new Person("大白",20));
 9 
10         System.out.println("===迭代器循环===");
11         // 第一种方式:生成迭代器
12         // 当需要迭代器再次遍历时,重置迭代器,iterator = arrayList.iterator();
13         Iterator iterator = linkedList.iterator();
14         // 快捷键:itit
15         while (iterator.hasNext()) {
16             // 遍历过程中如果想调用指定对象的特定方法,则需要向下转型。【多态】
17             Object obj =  iterator.next();
18             if(obj instanceof Person){
19                 Person person = (Person) obj;
20                 person.study();
21             }
22             System.out.println(obj);
23         }
24 
25         System.out.println("===增强for循环===");
26         // 第二种方式:增强for循环
27         // 快捷键 Xx.for,其实质就是迭代器。
28         for (Object o : linkedList) {
29             System.out.println(o);
30         }
31 
32         System.out.println("===增强for循环===");
33         // 第三种方式:for循环
34         for (int i = 0; i < linkedList.size(); i++) {
35             System.out.println(linkedList.get(i));
36         }
37 
38     }
39 }
40 
41 class Person {
42     private String name;
43     private int age;
44 
45     public Person(String name, int age) {
46         this.name = name;
47         this.age = age;
48     }
49 
50     public void study(){
51         System.out.println(name + "要好好学习java");
52     }
53 
54     @Override
55     public String toString() {
56         return "Person{" +
57                 "name='" + name + '\'' +
58                 ", age=" + age +
59                 '}';
60     }
61 }

总结:三者遍历的方式基本相同。

 

posted @ 2023-01-01 20:46  zwGitOne  阅读(154)  评论(0编辑  收藏  举报