• Java集合框架---重构设计


    面向接口编程:

    接口类型 变量 =new 实现类();

    List  list=new ArrayList();

    ---------------------------------------

    List实现类的特点与性能分析

    --------------------------------------

    三者共同的特点和遵循的规范:

    1):允许元素重复;

    2):记录元素的先后添加顺序

    --------------------------------------

    Vector类:

    底层才有数组结构算法,方法都是使用Synchronized修饰,线程安全,但是相当于ArrayList性能较低;

    ArrayList类:

    底层才有数组结构算法,方法没有使用Synchronized修饰,线程不安全,相当于Vector性能较高。

    ArrayLis现在基本上已经取代了Vector的江湖地位。

    为了保证ArrayList线程安全,List lsit =Collections.SynchronizedList(new Arraylist(...));

    LinkedList类:

    底层才有双链表结构算法,方法没有使用Synchronized修饰,线程不安全。

    数组结构算法和双向链表结构算法的性能问题:

    数组结构算法:插入和删除操作速度低,查询和更改较高;

    链表结构算法:插入和删除操作速度快,查询和更改较慢;

    ---------------------------------------------------------------------------

    使用的选择:
    Vector类打死都不用!即使要用,就用ArrayList类。

    如果插入和删除操作频繁,应该使用LinkedList类;

    如果查询和更改操作频繁,应该使用ArrayList类;

    在开发中。较多使用ArrayList类,根据具体的需求环境来选择;

     

    
    
    public static void main(String[] args) {
        List list=new ArrayList();
        list.add("b");
        list.add("c");
        list.add("d");
        list.add("e");
        //方式1:for循环
        for (int index = 0; index < list.size(); index++) {
            Object rest = list.get(index);//取出指定索引位置的元素
            System.out.println(rest);
        }
        System.out.println("---------------------------------------------------------------------------");
        //方式2:for-each增强for循环
        for (Object ele : list) {
            System.out.println(ele);
        }
        System.out.println("---------------------------------------------------------------------------");
        //方式3:使用while循环操作迭代器Iterator
        Iterator it=list.iterator() ;
        while(it.hasNext()){
            System.out.println(it.next());
        }
        System.out.println("---------------------------------------------------------------------------");
        //方式4:使用for循环操作迭代器Iterator
        for (Iterator it2=list.iterator() ;it2.hasNext(); ) {
            System.out.println(it2.next());
        }
        System.out.println(list);
    }
    
    
    


  • 相关阅读:
    文档驱动开发模式在 AIMS 中的应用与实践
    软件“美不美”,UI测试一下就知道
    做运维,送你7个常用的服务器资源监控工具
    掌握ROMA Compose,报表清单不秃头
    技术干货丨隐私保护下的迁移算法
    业务爆发式增长,音视频服务如何做好质量监控与优化?
    MyBatis中SQL语句优化小结
    Go语言微服务开发框架:Go chassis
    揭开KPI异常检测顶级AI模型面纱
    激光雷达lidar与点云数据
  • 原文地址:https://www.cnblogs.com/jiangxifanzhouyudu/p/6692656.html
Copyright © 2020-2023  润新知