一、List简介
嵌套以ArrayList举例
-
List集合特点
- 有索引(下标)。
- 允许重复存储(存在相同数据元素)。
- 存取有序。
-
常用子类
- ArrayList: 底层结构为数组,查询快,增删慢。
- Vector: 底层结构也是数组(线程安全,同步安全,低效,所以很少使用)。
- LinkedList: 底层是链表结构(双向链表):查询慢,增删快
-
List集合有哪些常用的特有方法?
add(增)、remove(删)、set(改)、get(查)
-
List为什么可以嵌套
ArrayList底层结果就是数组,数组的特点是:查询快,增删慢。
二、List的嵌套使用
1、源码:
public static void main(String[] args) {
List<String> classes = new ArrayList<>();//带点一维数组的味道
List<List<String>> grade = new ArrayList<>();//看起来,怎么那么像二维数组呢?
/**
* List的嵌套不同于数组的地方:
* 例如:定义二维数组,以int数据类型为例
* int [][]arr=new int[数组长度][数组长度];//数组在定义的时时候,是几维数组后面就带几个中括号[],但是
* List<List<String>> grade = new ArrayList<>();后面只有一个<>
*/
classes.add("List");
classes.add("ArrayList");
classes.add("LinkedList");
List<String> gansu = new ArrayList<>();
gansu.add("Set");
gansu.add("HashSet");
gansu.add("TreeSet");
grade.add(classes);
grade.add(gansu);
for (List<String> table : grade) {
for (String txt : table) {
System.out.print(txt + " ");//逐行输出
}
System.out.println();//输出之后,进行换行
}
}