一. ArrayList
1. ArrayList 的数据结构是可变长度的数组,元素有序且可重复的。在 Java API 中可以查找 ArrayList 的相关方法。https://docs.oracle.com/javase/7/docs/api/https://docs.oracle.com/javase/7/docs/api/
2. ArrayList 的使用
// (1) ArrayList 定义及添加元素
ArrayList<String> al = new ArrayList<String>();
al.add("one");
al.add("two");
al.add("three");
al.add("one");
al.add("one");
// (2) allAll 添加另一个集合
ArrayList<String> al2 = new ArrayList<String>();
al2.add("1");
al2.add("2");
al2.add("3");
// (3)遍历元素,可以使用 for 循环进行遍历
for(String e:al){
System.out.println(e);
}
// (4) 判断是否包含一个元素 contains
boolean b1 = al.contains("two");
System.out.println(b1);
// (5) containsAll 判断包含是否一个集合
boolean b2 = al.containsAll(al2);
System.out.println(b2);
// (6) size 获得 ArrayList 的大小, get() 根据下标获得元素
int size = al.size();
for(int i=0;i<size;i++){
System.out.println(al.get(i));
}
// (7) 用迭代器 Iterator 遍历
Iterator<String> it = al.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
// (8) 删除 remove
al.remove("1"); // 删除元素
al.remove(2); // 根据索引删除
al.removeAll(al2); // 删除a1中的a12的集合
al.clear(); // 清空
// (9) 判断是否为空 isEmpty
boolean b3 = al.isEmpty();
二. LinkedList
1. LinkedList 的数据结构是一个链表,双向链表,实现了 List 接口和 Deque 接口。
LinkedList 的 api 可以在这个 Java api 文档中查找。
Java Platform SE 7 https://docs.oracle.com/javase/7/docs/api/2. LinkedList 的使用
// (1) 定义 LinkedList
LinkedList<String> ll = new LinkedList();
// (2)添加元素
ll.add("one");
ll.add("two");
ll.add("three");
ll.add("one");
// (3) 遍历
for(String e:ll){
System.out.println(e);
}
// (4) 通过 size() 方法获得大小,通过下标索遍历
int size = al.size();
for(int i=0;i<size;i++){
System.out.println(al.get(i));
}
// (5) 包含 contains
boolean b = al.contains("two1");
System.out.println(b);
b = al.containsAll(al2);
System.out.println(b);
// (6) 删除,除了跟 ArrayList 相同的 remove 操作外,还有下面删除第一个和最后一个的操作
ll.removeFirst(); //删除第一个
ll.removeLast(); //删除最后一个
// (7) 出栈入栈,后进先出
ll.push("1"); // 入栈 push()
System.out.println("--"+ll.pop()); // pop() 出栈