List接口背景:
java.util.ArrayList类实现了java.util.List接口,所以要先认识一下List接口。List接口是java.util.Collection接口的子接口,而Collection接口则是java.lang.Iterable的子接口。Iterable接口要求实现一个iterator()方法。
使用List要知道以下几点:
第一、使用List首先得引入包 import java.util.*;
第二、每个加入List中的元素都是循环加入的,并可指定索引来存取元素,这块跟数组是一样的,对于List接口的方法就不一一介绍了,百度下java api;
第三、List可以使用数组(Array)或是链接串行(LinkList)来实现这个特性,前者就是java.util.ArrayList,后者就是java.util.LinkedList。对于循环加入或存取,使用ArrayList的效率比较高,对于经常变动元素排列顺序的需求,使用LinkedList会比较好。
使用ArrayList类代替数组实战:
1.被调函数:
import java.io.*;
import java.util.*;
import org.dom4j.*;
import org.dom4j.io.*;
public class XMLReader {
public static List<String> getdbxml() {
List<String> db=new ArrayList<String>();
try {
File f = new File("D:\\db.xml");
SAXReader reader = new SAXReader();
Document doc = reader.read(f);
Element root = doc.getRootElement();
Element foo;
Element value;
int j=0;
for (Iterator i = root.elementIterator("session-factory"); i.hasNext();)
{
foo = (Element) i.next();
for(Iterator k = foo.elementIterator("property");k.hasNext();)
{
value = (Element)k.next();
db.add((String)value.getData());//使用ArrayList的add方法将元素存储到容器里
j++;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return db;
}
}
2.主函数:
public static void main(String[] args) {
List<String> db=new ArrayList<String>();
db=XMLReader.getdbxml();
}
关于被调函数,它是一个读取xml文件的小程序,将在下篇博文中展开与大家分享。这里我们用ArrayList类的一个方法就是add方法,它可以按顺序将元素存储到这个ArrayList中。要特别注意的是被调函数的返回值类型,必须是List<String>,因为你在主函数里面声明的时候是用List<String>来声明的。