博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java集合框架---重构设计
阅读量:4945 次
发布时间:2019-06-11

本文共 1859 字,大约阅读时间需要 6 分钟。

 

 

面向接口编程:

接口类型 变量 =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);}
 

 

 

 

 

 

转载于:https://www.cnblogs.com/jiangxifanzhouyudu/p/6692656.html

你可能感兴趣的文章
最大熵原理
查看>>
Maven最佳实践:划分模块
查看>>
内容样式
查看>>
JAVA从局域网共享文件夹中下载上传文件以及java访问共享文件夹
查看>>
DAY19 面向对象三大特性之多态、封装
查看>>
管理信息系统的开发与管理
查看>>
JMeter的学习笔记(一):JMeter的入门使用
查看>>
jap页面获取struts2中action中变量的值
查看>>
Notes on <<Refactoring Databases - Evolutionary Database Design>>
查看>>
使用MyBatis Generator自动创建代码( SSM框架)
查看>>
检验两个随机序列的beta系数
查看>>
node-webkit教程(10)Platform Service之File dialogs
查看>>
《计算机组成与体系结构:性能设计》读后小记 5、内部存储器
查看>>
3 基础语法
查看>>
字符串知识储备
查看>>
unity之截屏功能
查看>>
直连网(directly-connected networks)个数的计算
查看>>
javascript面对对象编程指南 第一章
查看>>
poj 2773 happy2006
查看>>
ADO.NET基础知识学习(SQLCOnnection&SQLCommand&SQLDataReader&SQLDataAdapter&DataSet)
查看>>