package introduction9; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; /**
* ArrayList 底层是数据实现的,是连续的空间{0,1,2,3,4,5,6},如果从最后的位置增除的话,用ArrayList比较快,
* 用ArrayList增删元素时,会造成原素位空缺,其它已经存在的元素会向前或者向后移动,影响程序效率。
* LinkedList 如果从最开始的位置删除的话,用LinkedList 比较快
* LinkedList是使用索引存储元素,采用的是手拉手的形式,增删时不会带来元素的移动,所以效率比ArrayList要快。
*/ import javax.swing.event.AncestorListener; public class LinkedListDemo { public static void main(String[] args) { //创建一个LinkedList对象 LinkedList <String> cars = new LinkedList<String>(); //如何向集合中增加元素? //添加元素到名为cars的ArrayList中 cars.add("BMW"); cars.add("Honda"); cars.add("Audi"); //大小 size获取集合中的元素集合的歌数 int size = cars.size(); System.out.println("这个list集合的大小为:"+size); //通过索引访问集合中的元素 System.out.println("1索引位上的元素为:"+cars.get(1)); //遍历集合元素 //方式一: System.out.println("遍历集合"); for(int i = 0;i<size;i++) { System.out.println("索引位"+i+"上的元素为:"+cars.get(i)); } //方式二:使用高级for循环 System.out.println(" 高级for循环"); for(String car:cars) { System.out.println("集合元素为:"+car); } //移除集合元素(移除最后一个元素) cars.remove(size-1); System.out.println(" 高级for循环移除元素之后"); for(String car:cars) { System.out.println("集合元素为:"+car); } //多态 List <Integer> llist = new LinkedList<Integer>(); List <Integer> alist = new ArrayList<Integer>(); //给不同的索引位上加元素 alist.add(0, 10); } }