面向接口编程:

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


Java集合框架---重构设计的更多相关文章

  1. Java集合框架入门介绍(一)

    Java工具包(java.util)提供了强大的数据结构,主要有以下几种接口或类 枚举Enumeration 接口 从数据集合中取回一系列连续值的方法 位集合 BitSet 可以单独清楚或设置的位和标 ...

  2. Java 集合框架(常用数据结构)

    早在Java 2中之前,Java就提供了特设类.比如:向量(Vector).栈(Stack).字典(Dictionary).哈希表(Hashtable)这些类(数据结构)用来存储和操作对象组.虽然这些 ...

  3. Java集合框架(常用类) JCF

    Java集合框架(常用类) JCF 为了实现某一目的或功能而预先设计好一系列封装好的具有继承关系或实现关系类的接口: 集合的由来: 特点:元素类型可以不同,集合长度可变,空间不固定: 管理集合类和接口 ...

  4. Java集合框架面试题

    www.cnblogs.com/zhxxcq/archive/2012/03/11/2389611.html 这里的两个图很形象,由于放进图片链接,图片显示不了,所以只能给出该链接. Java集合框架 ...

  5. 《深入理解Java集合框架》系列文章

    Introduction 关于C++标准模板库(Standard Template Library, STL)的书籍和资料有很多,关于Java集合框架(Java Collections Framewo ...

  6. java集合框架之java HashMap代码解析

     java集合框架之java HashMap代码解析 文章Java集合框架综述后,具体集合类的代码,首先以既熟悉又陌生的HashMap开始. 源自http://www.codeceo.com/arti ...

  7. Java最重要的21个技术点和知识点之JAVA集合框架、异常类、IO

    (三)Java最重要的21个技术点和知识点之JAVA集合框架.异常类.IO  写这篇文章的目的是想总结一下自己这么多年JAVA培训的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享 ...

  8. Java集合框架Collection

    转自:http://www.cdtarena.com/javapx/201306/8891.html [plain] view plaincopyprint?01.在 Java2中,有一套设计优良的接 ...

  9. Lambda表达式和Java集合框架

    本文github地址 前言 我们先从最熟悉的Java集合框架(Java Collections Framework, JCF)开始说起. 为引入Lambda表达式,Java8新增了java.util. ...

随机推荐

  1. rest异常框架

    好的工具:postman 教程:http://blog.csdn.net/ye1992/article/details/49998511 RuntimeMXBean是Java 虚拟机的运行时系统的管理 ...

  2. bzoj 2946 [Poi2000]公共串——后缀自动机

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2946 对每个串都建一个后缀自动机,然后 dfs 其中一个自动机,记录同步的话在别的自动机上走 ...

  3. oracle驱动包maven下载失败解决

    oracle是付费的,因此jar包也不是随便让人下的,这就给maven的下载和编译带来了麻烦,因为我们没法从maven仓库直接拿来用.解决办法就是先从别的地方获取jar包,再放到本地仓库里去,这样运行 ...

  4. sql for 存储过程格式

    sql DELIMITER && CREATE PROCEDURE test2() BEGIN DECLARE i INT; ; DO ')); ; END WHILE; END; & ...

  5. nginx.conf自己整理的中文解读

    自己收集了网上有关conf文件的中文详解,这样以后就不怕看不懂nginx的配置文件啦! #定义Nginx运行的用户和用户组user www www; #nginx进程数,建议设置为等于CPU总核心数. ...

  6. Internet上的网络层

    TCP/IP协议栈第三层是网络层,网络层的目的是实现两个系统之间的数据透明传送,具体功能包括寻址和路由选择.连接和建立.保持和终止等. TCP/IP协议给internet上的每台主机和路由分配一个地址 ...

  7. 固定容器内任意个div填充算法

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  8. Java之IO输入输出

    首先介绍File类: 我们直接上代码: package com.learn.chap10.sec02; import java.io.File; import java.io.IOException; ...

  9. 02-26 ASP.NET加密解密的方法

    MD5加密.解密的方法. 使用时的代码备忘:Response.Write(FormsAuthentication.HashPasswordForStoringInConfigFile("要加 ...

  10. leetcode821

    vector<int> shortestToChar(string S, char C) { vector<int> V; ; int AYC[N]; ; ; i < S ...