5.3泛型数组列表

2019-03-20  本文已影响0人  十六只猴子王

使用ArrayList类,它在添加或删除元素时,具有自动调节数组容量的功能,而不需要为此编写任何代码,为了指定数组列表保存的元素对象类型,需要用一对尖括号将类名括起来加在后面

ArrayList<Cat> c = new ArrayList<>();

如果已经清楚或能够估计出数组可能存储的元素数量,就可以在填充数组之前调用ensureCapacity方法:

c.ensureCapacity(100);//这个方法调用将分配一个包含100个对象的内部数组
ArrayList<Cat> c = new ArrayList<>(100);//可以把初始容量传递给ArrayList构造器

如果为数组分配100个元素的存储空间,数组就有100个空位置可以使用。而容量为100个元素的数组列表只是拥有保存100个元素的潜力。

  1. 添加元素add
 c.add(new Cat("n1", "color1"));
   c.add(new Cat("n2", "color2"));

向后移动元素,以便插入元素。示例:

    c.add(0, new Cat("c", "yellow"));
  1. set方法
    set方法设置数组列表指定位置的元素,这个操作将覆盖这个位置的原有内容。
  2. remove
    删除一个元素,并将后面的元素向前移动。
  3. get
    获取指定位置的元素值。
  4. trimToSize
    将数组列表的存储容量削减到当前尺寸。
import java.util.ArrayList;
 
public class Test1 {
    public static void main(String[] args){
        ArrayList<Cat> c = new ArrayList<>();
        c.ensureCapacity(100);
        System.out.println(c.size());
        c.add(new Cat("n1", "color1"));
        c.add(new Cat("n2", "color2"));
        c.set(1, new Cat("nx", "cx"));
        c.add(0, new Cat("c", "yellow"));
        for (Cat cat : c) {
            System.out.println(cat.name + " " + cat.color);
        }
        System.out.println(c.size());
        Cat d = c.get(0);
        System.out.println(d.name);
    }
}
class Cat{
    String name;
    String color;
    Cat(String name, String color){
        this.name = name;
        this.color = color;
    }
}

0
c yellow
n1 color1
nx cx
3
c

上一篇下一篇

猜你喜欢

热点阅读