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. java可变参数Varargs

    http://www.cnblogs.com/shishm/archive/2012/01/31/2332656.html J2SE 1.5提供了“Varargs”机制.借助这一机制,可以定义能和多个 ...

  2. SQL 优化,全

    性能不理想的系统中除了一部分是因为应用程序的负载确实超过了服务器的实际处理能力外,更多的是因为系统存在大量的SQL语句需要优化. 为了获得稳定的执行性能,SQL语句越简单越好.对复杂的SQL语句,要设 ...

  3. iOS9适配中出现的一些常见问题

    本文主要是说一些iOS9适配中出现的坑,如果只是要单纯的了解iOS9新特性可以看瞄神的开发者所需要知道的 iOS 9 SDK 新特性.9月17日凌晨,苹果给用户推送了iOS9正式版,随着有用户陆续升级 ...

  4. Servlet(三)

    重定向 服务器向浏览器发送一个302状态码以及一个Location消息头(该消息头的值是一个地址,称之为重定向地址),浏览器收到后会立即向重定向的地址发出请求,使用相应对象的API方法实现(respo ...

  5. 1.dubbo的安装 quickstart

    按照官网给定的指导,执行下面的步骤即可 1.Import the dubbo source code to eclipse project 在eclipse中安装git插件 egit 直接可以从git ...

  6. phpcms v9用get-sql调用数据表中的图组图片示例代码

    {pc:get sql="SELECT pictureurls FROM phpcms_picture_data where id = $id" start="0&quo ...

  7. 设置session的生命周期(php)

    PHP中,Session变量保存在服务器端(默认以文件格式保存),而Session ID以cookie形式保存在客户端. 销毁session的方法有2种 第一种是通过程序 session_destor ...

  8. python【第八篇】socket网络编程

    内容大纲 1.socke基础 两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. 建 立网络通信连接至少要一对端口号(socket).socket本质是编程接口(API ...

  9. HDU 5166(缺失数查找输出)

    HDU 5166 Time Limit:1000MS  Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Description T ...

  10. EJB

    Enterprise JavaBean,企业级javabean,是J2EE的一部分,定义了一个用于   开发基于组件的企业多重应用程序的标准.其特点包括网络服务支持和核心开发工具(SDK). 是Jav ...