打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ArrayList和LinedList的用法以及for-each循环语句和Iterator...

ArrayList和LinedList的用法以及for-each循环语句和Iterator接口

本帖最后由 leexy 于 2010-7-21 13:02 编辑

ArrayList是动态数组,它提供了动态的增加和减少元素,实现了Collection和List接口,灵活的设置数组的大小等好处。每个 ArrayList 实例都有一个容量。该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向 ArrayList 中不断添加元素,其容量也自动增长。
先定义个类Student

  1. public class Student {
  2.      private String name;
  3.      private String no;
  4.      private int age;
  5.      public Student(int age, String name, String no) {
  6.           super();
  7.           this.age = age;
  8.           this.name = name;
  9.           this.no = no;
  10.     }
  11.      public String getName() {
  12.           return name;
  13.     }
  14.      public void setName(String name) {
  15.          this.name = name;
  16.      }
  17.     public String getNo() {
  18.          return no;
  19.     }
  20.     public void setNo(String no) {
  21.          this.no = no;
  22.      }
  23.     public int getAge() {
  24.          return age;
  25.     }
  26.     public void setAge(int age) {
  27.           this.age = age;
  28.      }

  29. }
复制代码




  1. import java.util.ArrayList;
  2. import java.util.List;
  3. public class Test {
  4.        public static void main(String[] args) {
  5.             List list=new ArrayList(); //定义一个 ArrayList集合对象list
  6.             Student student;
  7.             for (int i = 0; i < 10; i++) {
  8.                   student=new Student(i+18,"姓名"+i,String.valueOf(i));
  9.                   list.add(student);   //向 ArrayList对象中添加student的三个属性
  10.                   System.out.println("学生的年龄:"+student.getAge());
  11.              }
  12.     }
  13. }
复制代码

运行结果:
学生的年龄:18
学生的年龄:19
学生的年龄:20
学生的年龄:21
学生的年龄:22
学生的年龄:23
学生的年龄:24
学生的年龄:25
学生的年龄:26
学生的年龄:27


LinkedList:

  1. import java.util.LinkedList;
  2. public class Test1 {
  3.      public static void main(String[] args){
  4.              LinkedList ll=new LinkedList();
  5.              Student stu;
  6.            for(int i=0;i<3;i++){
  7.                    stu = new Student(i + 17, "姓名" + i, String.valueOf(i));
  8.                    ll.add(stu);
  9.                    System.out.println("学生的年龄:"+stu.getAge());
  10.                    System.out.println("学生的姓名:"+stu.getName());
  11.                    System.out.println("学生的学号:"+stu.getNo());
  12.                    System.out.println("-----------------");
  13.             }
  14.       }
  15. }
复制代码

运行结果:
学生的年龄:17
学生的姓名:姓名0
学生的学号:0
-----------------
学生的年龄:18
学生的姓名:姓名1
学生的学号:1
-----------------
学生的年龄:19
学生的姓名:姓名2
学生的学号:2
-----------------


       for-each循环语句和Iterator接口都能实现Java集合类型的枚举,并且for-each循环语句底层也调用了集合的Iterator接口,所以其执行效率和性能一样,但使用for-each循环语句枚举语法显得代码简洁易读。
依然是类Student

  1. import java.util.Iterator;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. public class Cycle {
  5.    public static void main(String[] args) {
  6.            List list = new ArrayList(); // 定义一个 ArrayList集合对象list
  7.            Student student;
  8.            for (int i = 0; i < 10; i++) {
  9.                    student = new Student(i + 18, "姓名" + i, String.valueOf(i));
  10.                    list.add(student); // 向 ArrayList对象中添加student的三个属性
  11.              }

  12.           Iterator iter = list.iterator(); // 从list集合上获得Iterator接口的引用
  13.           while (iter.hasNext()) // 通过Iterator接口hasNext()方法控制循环停止的标准
  14.           {
  15.                    student = (Student) iter.next(); /*通过next方法,获得集合中的下一个元素,默认情况下是Object类型 ,为了使用具体对象的行为,需要强制转换成对应类型*/
  16.                    System.out.println("学生的年龄:" + student.getAge());
  17.              }

  18.             for (Object object : list)  /*是for-each枚举语句的详细语法,Object是集合中元素的类型,object是表示任何一个元素的局部变量,list是要被枚举的集合对象*/

  19.               {
  20.                     System.out.println("学生的姓名:" + ((Student) object).getName());
  21.                }
  22.        }
  23. }
复制代码

运行结果:      
学生的年龄:18
学生的年龄:19
学生的年龄:20
学生的年龄:21
学生的年龄:22
学生的年龄:23
学生的年龄:24
学生的年龄:25
学生的年龄:26
学生的年龄:27
学生的姓名:姓名0
学生的姓名:姓名1
学生的姓名:姓名2
学生的姓名:姓名3
学生的姓名:姓名4
学生的姓名:姓名5
学生的姓名:姓名6
学生的姓名:姓名7
学生的姓名:姓名8
学生的姓名:姓名9

总结:
ArrayList的一些用法:
创建ArrayList的List接口【List list = new ArrayList();】、通过利用for循环、枚举读取元素【通过枚举读取元素上已经给出,下面简单写下的写下通过for循环读取元素:
for (int i = 0; i < list.size(); i++) {
     student=(Student)list.get(i);
   System.out.println("学生的年龄:"+student.getAge());
} 】
至于for-each循环语句和Iterator枚举接口之间是等价的方法,for-each循环语句底层也是通过Iterator接口实现的。所有能够使用for-each语句进行枚举的集合本身必须实现Iterator接口,否则不能使用for-each语句进行枚举。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
《2015互联网数据库原理》实训报告
Access教程 第三章 查询
任务8 系统存储结构优化
03查询所有学生的学号、姓名、选课数、总成绩(不重要)
几条使用率最高的SQL语句
[SQL]SQL语句分析集锦
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服