List的实现类ArrayList等
Collection 老祖先,接口(interface)
List 子接口
ArrayList,LinkedList,Vector 实现类
Set 子接口
HashSet(无序),TreeSet(有序)
ArrayList:动态数组,表示数组长度可变
ArrayList,LinkedList 使用方法完全一样, 区别
数据存储方式不一样,称为不同的数据结构
ArrayList:基于数组实现(优点:连续存放,查找速度比较快,缺点是增加元素或者删除元素比较慢),
LinkedList基于链表实现(缺点:不连续存放,查找速度比较慢,优点:增加元素或删除元素比较快)。
Vector 向量:基于数组实现的,但是已经过时,现在都用ArrayList。
package javastudy;
import java.util.ArrayList;
import java.util.Iterator;
public class Test {
public static void main(String[] args) {
ArrayList<String> al = new ArrayList<String>();
al.add("北京");
al.add("上海");
al.add("天津");
al.add(0, "重庆");
print1(al);
System.out.println("********************************");
al.set(1, "Beijing");
print1(al);
System.out.println("********************************");
print2(al);
al.remove(3);
System.out.println("********************************");
print2(al);
}
static void print1(ArrayList<String> al) {
for (int i = 0; i < al.size(); i++) {
System.out.println(al.get(i));
}
}
static void print2(ArrayList<String> al) {
Iterator<String> it = al.iterator();// 遍历器相当于指针
while (it.hasNext()) {
System.out.println(it.next());//获取下一个元素并输出
}
}
}