public class TestList
{
    public static void init(List list)
    {
        if(list!=null)
        {
            list.add("aaa");
            list.add("bbb");
            list.add("ccc");
            list.add("eee");
            list.add("ddd");
        }
    }
    public static void output(List list)
    {
        if(list!=null)
        {
 
         for(int i=0;i<list.size();i++)
                 System.out.print(list.get(i)+"  ");
                    System.out.println();
        }
    }
    public static void testArrayList()
    {
        List list=new ArrayList();
        init(list);
        System.out.println("使用ArrayList:");
        output(list);
 
    }
    public static void testVector()
    {
        List list=new Vector();
        init(list);
        System.out.println("使用Vector:");
        output(list);
 
    }
    public   static void testLinkList()
    {
        List list=new LinkedList();
        init(list);
        System.out.println("使用Linklist:");
        output(list);
    }
    public static void main(String[] args)
    {
         TestList.testArrayList();
         TestList.testVector();
         TestList.testLinkList();
         List list=new ArrayList();
         list.add("aaa");
         list.add("bbb");
         System.out.println("插入元素后");
         output(list);
         list.add(1,"fff");
         System.out.println("指定位置插入元素后");
         output(list);
         List list2=new ArrayList();
         list2.add("ggg");
         list2.add("hhh");
         list2.add("aaa");
         list.addAll(list2);//将一个表2插入到表1后面
         System.out.println("将一个表2插入到表1后面");
         output(list);
         System.out.println("是否包含“aaa” "+list.contains("aaa"));
         System.out.println("是否全部包含list2 "+list.containsAll(list2));
         System.out.println("第一次出现aaa的位置   "+list.indexOf("aaa"));
         System.out.println("最后一次出现aaa的位置   "+list.lastIndexOf("aaa"));
 
         //更新列表中某元素的值
         list.set(2, "xxx");
         System.out.println("更新之后的值   ");
         output(list);
         //删除某个元素  只删除第一次出现的位置
         list.remove("aaa");
         System.out.println("删除aaa之后的值   ");
         output(list);
         //删除指定位置的值
         list.remove(3);
         System.out.println("删除3位置之后的值   ");
         output(list);
 
        // list.retainAll(list2);//只保存list2中的元素
         //output(list);
 
         list.removeAll(list2);//移除list2中的元素
         output(list);
 
         list.clear();
         System.out.println("是否为空"+list.isEmpty());
         init(list);
         list2=list.subList(1, 3);//讲某一段赋给新的表
         output(list2);
 
         ListIterator it=list.listIterator();
         System.out.println("正向遍历列表");
         while (it.hasNext())
        {
             System.out.print(it.next()+"  ");
        }
         System.out.println();
         System.out.println("反向遍历列表");
         while(it.hasPrevious())
         {
             System.out.print(it.previous()+"  ");
         }
         System.out.println();
 
         LinkedList list3=new LinkedList();
         init(list3);
         list3.addFirst("qqqq");//插入表头的位置
         output(list3);
         list3.addLast("wwww");
         output(list3);
         System.out.println("获取表头元素"+list3.getFirst());
         System.out.println("获取表尾元素"+list3.getLast());
         System.out.println("删除表头元素后");
 
         list3.removeFirst();
         output(list3);
         System.out.println("删除表尾元素后");
         list3.removeLast();
         output(list3);
 
 
    }
 
}
 

ArrayList 、Vector、 LinkList的更多相关文章

  1. ArrayList、LinkedList、Vector、Array和HashMap、HashTable

    就 ArrayList 与 Vector 主要从二方面来说. 一.同步性:Vector 是线程安全的,也就是说是同步的,而ArrayList 是线程序不安全的,不是同步的 二.数据增长:当需要增长时, ...

  2. ArrayList、Vector、LinkedList的区别联系?

    1.ArrayList.Vector.LinkedList类都是java.util包中,均为可伸缩数组. 2.ArrayList和Vector底层都是数组实现的,所以,索引数据快,删除.插入数据慢. ...

  3. ArrayList、Vector、LinkedList源码

    List接口的一些列实现中,最常用最重要的就是这三个:ArrayList.Vector.LinkedList.这里我就基于JDK1.7来看一下源码. public class ArrayList< ...

  4. List接口实现类-ArrayList、Vector、LinkedList集合深入学习以及源代码解析

    学习List接口实现类 ArrayList  Vector  LinkedList List接口的实现类中最经常使用最重要的就是这三个:ArrayList.Vector.LinkedList. JDK ...

  5. ArrayList、Vector、LinkedList的特点和区别

    ArrayList.Vector.LinkedList类均在java.util包中,均为可伸缩数组. 1)ArrayList和Vector都是基于存储元素的Object[] array来实现的,它们会 ...

  6. 说说JDK中的List-ArrayList、Vector、LinkedList

    为方便开发人员,JDK提供了一套主要数据结构的实现,比如List.Map等.今儿说说List接口. List接口的一些列实现中,最常用最重要的就是这三个:ArrayList.Vector.Linked ...

  7. ArrayList、Vector、HashMap、HashSet

    1. list  和 set 的有序无序是否可重复 List是有序可重复的: Set是无序不可重复的: 2.ArrayList.Vector.HashMap.HashSet的默认初始容量.加载因子.扩 ...

  8. [Java]ArrayList、LinkedList、Vector、Stack的比较

    一.介绍 先回顾一下List的框架图 由图中的继承关系,可以知道,ArrayList.LinkedList.Vector.Stack都是List的四个实现类. AbstractList是一个抽象类,它 ...

  9. ArrayList、Vector、LinkedList的区别

    ArrayList.Vector.LinkedList的区别 1.底层数据结构: ArrayList底层实现是动态数组 Vector底层实现是动态数组 LinkedList底层实现是双链表  2.扩容 ...

  10. ArrayList、Vector、LinkedList 区别及底层实现

    一.ArrayList.Vector.LinkedList 三者区别 1.ArrayList  底层:是数组结构,查询快,增删慢,线程不安全,效率高.2.LinkedList底层:是链表数据结构,查询 ...

随机推荐

  1. 用JS实现AJAX

    用JS实现AJAX   准备工作:新建网站,建立两个页面,index.aspx和backstage.aspx, 在工程目录下新建一个文件夹命名和image,在这里添加一个loading.gif,模拟提 ...

  2. 【转】 NSString什么时候用copy,什么时候用strong

    原文: http://blog.csdn.net/itianyi/article/details/9018567 大部分的时候NSString的属性都是copy,那copy与strong的情况下到底有 ...

  3. 【转】iOS-Core-Animation-Advanced-Techniques(六)

    原文:http://www.cocoachina.com/ios/20150106/10839.html 基于定时器的动画和性能调优 基于定时器的动画 我可以指导你,但是你必须按照我说的做. -- 骇 ...

  4. 效果类似于label从下往上滑(采用uiTableView实现)

    首先附上效果图 进行描述一下:效果就是类似于是一个竖直方向的滚动视图 并且方向是从下往上  并且能够一直这样循环下去. 代码“ // // ViewController.m // demo滚动视图上下 ...

  5. 解决右滑返回手势和UIScrollView中的手势冲突

    当在一个viewController中添加了scrollView或者tableView的时候,贴边侧滑返回的时候会首先触发滚动而失效,要解决这个问题,需要通过requireGestureRecogni ...

  6. c++primerplus(第六版)编程题——第6章(分支语句和逻辑运算符)

    声明:作者为了调试方便,每一章的程序写在一个工程文件中,每一道编程练习题新建一个独立文件,在主函数中调用,我建议同我一样的初学者可以采用这种方式,调试起来会比较方便. (具体方式参见第3章模板) 1. ...

  7. SGU 144.Meeting

    题目: 两支地区ACM比赛的队伍决定为了国际决赛而在一起集训. 他们约定在某天的 X 时到 Y 时的某一时刻相会. 但由于他们很少按时到 (有的队伍比赛那天都会迟到), 他们没有设定一个确切的相遇时间 ...

  8. 【BZOJ2653】【主席树+二分】middle

    Description 一个长度为n的序列a,设其排过序之后为b,其中位数定义为b[n/2],其中a,b从0开始标号,除法取下整. 给你一个长度为n的序列s. 回答Q个这样的询问:s的左端点在[a,b ...

  9. Servlet监听器类型

    ------------------------serlvet对象监听器------------------------------------------- request监听器(ServletRe ...

  10. 20款jquery下拉导航菜单特效代码分享

    20款jquery下拉导航菜单特效代码分享 jquery仿京东商城左侧分类导航下拉菜单代码 jQuery企业网站下拉导航菜单代码 jQuery css3黑色的多级导航菜单下拉列表代码 jquery响应 ...