zoukankan      html  css  js  c++  java
  • Java学习笔记()ArrayList

    1、什么是ArrayList
    ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和IList接口
    灵活的设置数组的大小。

    2、如何使用ArrayList

    最简单的例子:

    ArrayList List = new ArrayList();
    for( int i=0;i <10;i++ ) //给数组增加10个Int元素
    List.Add(i);

    // Point类型

    ArrayList<Point> list = new ArrayList<Point>();

    List.RemoveAt(5);//将第6个元素移除
    for( int i=0;i <3;i++ ) //再增加3个元素
    List.Add(i+20);
    Int32[] values = (Int32[])List.ToArray(typeof(Int32));//返回ArrayList包含的数组

    Iterator(迭代器)

    就像是C语言中的链表一样。它是一个对象,它可以遍历并选择序列中的对象

     Java中的Iterator功能比较简单,并且只能单向移动:

      (1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,被Collection继承。

      (2) 使用next()获得序列中的下一个元素。

      (3) 使用hasNext()检查序列中是否还有元素。

      (4) 使用remove()将迭代器新返回的元素删除。

      Iterator是Java迭代器最简单的实现,为List设计的ListIterator具有更多的功能,它可以从两个方向遍历List,也可以从List中插入和删除元素。

    迭代器应用:

     List l = new ArrayList();
     l.add("aa");
     l.add("bb");
     l.add("cc");
     for (Iterator iter = l.iterator(); iter.hasNext();) {
      String str = (String)iter.next();
      System.out.println(str);
     }
     /*迭代器用于while循环
     Iterator iter = l.iterator();
     while(iter.hasNext()){
      String str = (String) iter.next();
      System.out.println(str);
     }

    3、ArrayList重要的方法和属性


    Add方法用于添加一个元素到当前列表的末尾
    AddRange方法用于添加一批元素到当前列表的末尾
    Remove方法用于删除一个元素,通过元素本身的引用来删除
    RemoveAt方法用于删除一个元素,通过索引值来删除
    RemoveRange用于删除一批元素,通过指定开始的索引和删除的数量来删除
    Insert用于添加一个元素到指定位置,列表后面的元素依次往后移动
    InsertRange用于从指定位置开始添加一批元素,列表后面的元素依次往后移动

    另外,还有几个类似的方法:
    Clear方法用于清除现有所有的元素
    Contains方法用来查找某个对象在不在列表之中

    ToArray方法
    这个方法把ArrayList的元素Copy到一个新的数组中。

    4、ArrayList与数组转换
    例1:
    ArrayList List = new ArrayList();
    List.Add(1);
    List.Add(2);
    List.Add(3);

    Int32[] values = (Int32[])List.ToArray(typeof(Int32));

    例2:
    ArrayList List = new ArrayList();
    List.Add(1);
    List.Add(2);
    List.Add(3);

    Int32[] values = new Int32[List.Count];
    List.CopyTo(values);

  • 相关阅读:
    细细审视的你代码:异步消息处理
    [C++] 加速make的编译
    分析一下12306网站
    [Linux] 通过shell给unix socket发送数据
    shell中如何设置自增的变量
    多系统的 启动 顺序 修改
    对apk包进行odex优化的目的
    Android之所以不需要关闭后台运行程序 的 理由
    shell中如何设置自增的变量
    eclipse 小结
  • 原文地址:https://www.cnblogs.com/Kevin127/p/5326844.html
Copyright © 2011-2022 走看看