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);
            }

}

 

posted on 2018-09-18 10:57  时光以北暮南城  阅读(200)  评论(0)    收藏  举报