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. Http,Https (SSL)的Url绝对路径,相对路径解决方案Security Switch 4.2 英文帮助文档 分类: ASP.NET 2014-10-28 10:50 147人阅读 评论(1) 收藏

    Security Switch 4.2 =================== Security Switch enables various ASP.NET applications to auto ...

  2. Win10安卓模拟器Visual Studio Emulator for Android使用简介(转)

    Visual Studio Emulator for Android是微软官方发布的独立版本的安卓模拟器,这款软件可以让安卓应用开发者更加轻松的用Visual Studio编写Android应用,据说 ...

  3. angularjs 将带标签的内容解析后返回

    参考地址:http://okashii.lofter.com/post/1cba87e8_29e0fab 引入angular-sanitize.js文件 注入ngSanitize 页面数据绑定 ng- ...

  4. 如何利用C#编写网页投票器程序 如何使用代理来投票 代理IP来投票

      一.前言看个图,了解下投票的过程.提交投票信息投票页 ――――――――>投票信息处理页反馈投票结果(请求页)<―――――――(响应页)一般情况下,填写投票信息,然后点提交按钮发送到响应 ...

  5. 介绍TableView非常不错的一篇文章

    原文:http://blog.csdn.net/fanxiaochuan/article/details/11332775 介绍TableView非常不错的一篇文章: http://www.cocoa ...

  6. Java设计模式(学习整理)---单例模式

    1.概念: java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例.饿汉式单例.登记式单例三种. 单例模式有一下特点: 1.单例类只能有一个实例. 2.单例类必须自己自己创建自己的唯一实例 ...

  7. Why Doesn’t Drag-and-Drop work when my Application is Running Elevated? – A: Mandatory Integrity Control and UIPI(转载)

    f you run notepad elevated (Right click | Run as Administrator), and you try and drag-and-drop a fil ...

  8. 极光推送 api ios参数问题

    这是首个app项目,推送用的是极光推送jpush 由于用官方文档出现接收多条的问题,在网上找到一套封装好的,非常感觉这位开发者 //推送.指定人error_reporting(E_ALL^E_NOTI ...

  9. 微信JS-SDK实际分享功能

    为了净化网络,整顿诱导分享及诱导关注行为,微信于2014年12月30日发布了<微信公众平台关于整顿诱导分享及诱导关注行为的公告>,微信平台开发者发现,原有的微信分享功能不能用了,在ipho ...

  10. php基础知识【函数】(9)数学和对象类函数

    一.数学  abs -- 绝对值 ceil -- 进一法取整 floor -- 舍去法取整 fmod -- 返回除法的浮点数余数 round -- 对浮点数进行四舍五入 sqrt -- 平方根 pi( ...