在Java中,List接口是个有序的集合,因为是接口所以无法创建对象
为了实现List接口的功能,可以使用以下类
- 数组列表 ArrayList
- 链表 LinkedList
- 向量 vector
- 堆栈 Stack
下面代码说明 list的常用方法
package com.asdi.idea;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
public class HelloWorld {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
List<String> listTemp = new ArrayList<>();
// 1.add 将元素添加到列表
list.add("aa");
list.add("bb");
list.add("cc");
System.out.println("list = " + list); // [aa, bb, cc]
// 2.addAll 将一个列表的所有元素添加到另一个
listTemp.add("11111");
list.addAll(listTemp);
System.out.println("list addAll = " + list); // [aa, bb, cc, 11111]
// 3.get(第n个元素,从0开始)
System.out.println("list get = " + list.get(2)); //cc
// 4.iterator
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()){
System.out.println("list iterator = " + iterator.next());
// list iterator = aa; list iterator = bb;
// list iterator = cc; list iterator = 11111;
}
// 5. set 更改列表元素
list.set(0, "xxx");
System.out.println("list = " + list); // [xxx, bb, cc, 11111]
// 6. toArray() - 将列表转换为数组
Object[] array = list.toArray();
System.out.println("list.toArray() = " + array);
// 这步得到的是Object类型的数组 [Ljava.lang.Object;@682a0b20
String str = Arrays.toString(array);
System.out.println("list.toArray().toString() = " + str); // [xxx, bb, cc, 11111]
// 7. contains() - 如果列表包含指定的元素,则返回true
System.out.println("list.contains(\"xxx\") = " + list.contains("xxx")); // true
// 8. remove() - 从列表中删除一个元素
// 9. removeAll() - 从列表中删除所有元素
// 10. clear() - 从列表中删除所有元素(比removeAll()效率更高)
// 11. size() - 返回列表的长度
}
}