
3.1 List集合的常用方法
用代码演示一下这几个方法的效果
java
public class ListTest1 {
public static void main(String[] args) {
// 创建一个ArrayList集合对象(有序、有索引、可以重复)
List<String> list = new ArrayList<>();
list.add("蜘蛛精");
list.add("至尊宝");
list.add("至尊宝");
list.add("牛夫人");
System.out.println(list); // [蜘蛛精, 至尊宝, 至尊宝, 牛夫人]
// 在某个索引位置插入元素
list.add(2, "紫霞仙子");
System.out.println(list); // [蜘蛛精, 至尊宝, 紫霞仙子, 至尊宝, 牛夫人]
// 根据索引删除元素, 返回被删除的元素
System.out.println(list.remove(2)); // 紫霞仙子
System.out.println(list);// [蜘蛛精, 至尊宝, 至尊宝, 牛夫人]
// 返回集合中指定位置的元素
System.out.println(list.get(3));
// 修改索引位置处的元素,修改后,会返回原数据
System.out.println(list.set(3, "牛魔王")); // 牛夫人
System.out.println(list); // [蜘蛛精, 至尊宝, 至尊宝, 牛魔王]
}
}
------------------------------------------------
版权声明:本文为CSDN博主「Han_han919」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Han_han919/article/details/161025146
3.2 List集合的遍历方式
List集合相比于前面的Collection多了一种可以通过索引遍历的方式,所以List集合遍历方式一共有四种:
-
普通for循环(只因为List有索引)
-
迭代器
-
增强for
-
Lambda表达式
javapublic class ListTest2 { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("蜘蛛精"); list.add("至尊宝"); list.add("糖宝宝"); // 1.普通for循环 for(int i = 0; i< list.size(); i++){ //i = 0, 1, 2 String e = list.get(i); System.out.println(e); } System.out.println("--------------"); // 2.增强for遍历 for(String s : list){ System.out.println(s); } System.out.println("--------------"); // 3.迭代器遍历 Iterator<String> it = list.iterator(); while(it.hasNext()){ String s = it.next(); System.out.println(s); } System.out.println("--------------"); // 4.lambda表达式遍历 list.forEach(s -> System.out.println(s)); } }3.3 ArrayList底层的原理(面试题)


3.4 ArrayList的应用场景
应用场景:
1、ArrayList适合: 根据索引查询数据,比如根据随机索引取数据(高效)! 或者数据量不是很大时!
2、ArrayList不适合: 数据量大的,同时又要频繁的进行增删操作!
总结:
1、List系列集合的特点是什么?
ArrayList、LinekdList :有序,可重复,有索引。
2、ArrayList集合的底层是基于什么实现的, 有什么特点呢?
数组
特点:
查询快, 增删慢
3、ArrayList集合适合什么业务场景?不适合什么业务场景?
ArrayList适合: 根据索引查询数据,比如根据随机索引取数据(高效)! 或者数据量不是很大时!
ArrayList不适合: 数据量大的,同时又要频繁的进行增删操作!
3.5 LinkedList底层原理
LinkedList底层是链表结构,基于双链表实现的。
链表结构是由一个一个的节点组成,一个节点由数据值、下一个元素的地址组成。如下图所示:

