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("\n高级for循环");
for(String car:cars) {
System.out.println("集合元素为:"+car);
} //移除集合元素(移除最后一个元素)
cars.remove(size-1);
System.out.println("\n高级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);
} }