Java中AbstractList的add(E ele)方法及示例
AbstractList是Java中的一个抽象类,它实现了List接口的大部分方法,以便让子类去继承和实现一些特定的操作。其中,add(E ele)方法是AbstractList中的一个重要方法,它用于在列表的结尾添加指定的元素。
add(E ele)方法的定义
add(E ele)方法是List接口中的一个方法,在AbstractList中被实现为:
public boolean add(E ele) {
add(size(), ele);
return true;
}
这个方法首先会调用add(int index, E ele)方法,在索引为size()处添加指定的元素,然后返回true。
add(int index, E ele)方法的定义
add(int index, E ele)方法则是AbstractList中实现为抽象方法的方法之一,它的定义如下:
public abstract void add(int index, E ele);
这个方法会在指定的索引位置插入指定的元素,从而改变列表的大小。当插入的位置等于列表的大小时,则等于在结尾处添加元素。如果插入的位置小于0或者大于列表的大小,则会抛出IndexOutOfBoundsException异常。
示例代码
下面我们来看一个使用add(E ele)方法的例子。我们要实现一个名为PersonList的类,它继承自AbstractList并用来管理我们自定义的Person对象。我们的Person类只有两个属性,姓名和年龄。首先,我们需要定义这个类:
public class PersonList extends AbstractList<Person> {
private List<Person> persons = new ArrayList<>();
@Override
public void add(int index, Person ele) {
persons.add(index, ele);
}
@Override
public Person get(int index) {
return persons.get(index);
}
@Override
public int size() {
return persons.size();
}
}
在PersonList中,我们实现了add(int index, Person ele),get(int index)和size()方法,分别用于插入元素,获取元素和返回列表的大小。我们使用了ArrayList来存储Person对象。接下来我们来测试一下:
public static void main(String[] args) {
PersonList personList = new PersonList();
personList.add(new Person("Alice", 20));
personList.add(new Person("Bob", 30));
personList.add(new Person("Charlie", 40));
for(int i=0; i<personList.size(); i++) {
System.out.println(personList.get(i).toString());
}
}
在这段代码中,我们首先创建了一个PersonList对象,然后通过调用add方法向列表中添加三个Person对象。接着,我们使用一个for循环遍历列表中的元素,并将它们的属性输出到控制台。运行上述代码将会输出:
Name: Alice, Age: 20
Name: Bob, Age: 30
Name: Charlie, Age: 40
结论
Java中AbstractList的add(E ele)方法和add(int index, E ele)方法是List接口中的两个关键方法,通过它们我们可以向列表中添加元素或者插入一些元素。AbstractList提供了List中的大部分方法的实现,让我们可以很方便地创建出自己的列表类。