ArrayList实现了List接口,同时继承于AbstractList类,实现了可变大小的数组(数组的容量不可变,但是ArrayList的容量可以动态增长),允许有null元素。ArrayList随机访问和遍历整个集合时性能较好,但是在List的指定位置插入和移除元素时性能较差。
使用时通常将变量类型声明为List类型,可以通过具体的实现类来定义不同对象的具体实例化类型。
动手写11.3.1
上述代码中,第一个指定声明了元素都是String类型的List集合;第二个指定中,E是Java中合法的数据类型,代表它可以是Java中任意的合法数据类型。ArrayList中提供了默认的构造器ArrayList(int initialCapacity),可以初始化一个指定大小的集合。需要注意的是,使用new创建一个新的集合对象时可以省略“<>”,系统在编译时会将前面默认的类型填充进去。
动手写11.3.2
上述示例中,使用了add()方法给集合按顺序添加元素。需要注意的是,集合中的索引和数组一样,都是从0开始的。上述例子中使用了remove()方法将集合中索引为1的元素(也就是第二个元素)进行了移除;同时,给出了ArrayList中遍历所有元素的两种方式的示例,一种是foreach,另一种是使用迭代器Iterator。其运行结果为:
图11.3.1 ArrayList使用示例
ArrayList可以使用get()和set()方法来对指定索引获取、设置特定的元素。(www.xing528.com)
动手写11.3.3
其运行结果为:
图11.3.2 ArrayList类get()和set()方法使用示例
除了Collection中提供的方法,ArrayList还有一些常用方法,如表11.3.1所示。
表11.3.1 ArrayList类中的常用方法
(续上表)
因为ArrayList是非同步的,所以在多线程的情况下要谨慎使用。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。