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

面向接口编程:

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

List  list=new ArrayList();

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

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

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

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

1):允许元素重复;

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

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

vector类:

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

ArrayList类:

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

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

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

LinkList类:

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

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

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

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

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

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

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

如果查询和更改操作频繁,应该使用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);
}


时间: 2025-01-06 05:05:35

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

Java集合框架中隐藏的设计套路

我们的世界不应该只有"胡萝卜" 进入正题之前容我先扯点别的. 最近突然想到了一个驴子和胡萝卜不得不说的故事.说是一个人坐在驴子背上,用一根长杆绑着一根胡萝卜,然后把胡萝卜悬到驴子的面前,驴子以为只要向前走一步就可以吃到胡萝卜,于是不停地向前走,可是它始终无法吃到这根萝卜. 一千个读者就有一千个哈姆雷特,当然不同的人对这个故事也会有不同的理解.比如我们为了生活拼命地工作,却永远达不到财务自由,我们是不是也像一只忙碌的"驴子"呢? 所以,我们的世界不应该只有"

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

Introduction 关于C++标准模板库(Standard Template Library, STL)的书籍和资料有很多,关于Java集合框架(Java Collections Framework, JCF)的资料却很少,甚至很难找到一本专门介绍它的书籍,这给Java学习者们带来不小的麻烦.我深深的不解其中的原因.虽然JCF设计参考了STL,但其定位不是Java版的STL,而是要实现一个精简紧凑的容器框架,对STL的介绍自然不能替代对JCF的介绍. 本系列文章主要从数据结构和算法层面分析

JAVA集合框架

收藏 查看我的收藏 146有用+1 56 编辑 Java,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称.用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台.动态的Web.Internet计算.从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet.集合框架是为表示和操作集合而规定的一种统一的标准的体系结构.任何集合框架都包含三大块内容:对外的接口.接口的实

java集合框架22

思想:在面向对象的思想里,一种数据结构被认为是一种容器.在本质上来讲是一个类,提供方法支持查找,插入和删除等等操作. Java集合框架支持以下俩种类型的容器: 存储一个元素集合,简称为集合Collection 存储键值对,称为图Map 集合collection 三种主要类型 : 规则集(set) , 线型表(List) , 队列(Queue) set: 存储一组不重复的数据 List: 存储由元素构成的有序集合 Queue: 存储先进先出方式处理的对象 细说Collection接口: 它是处理对

Java 集合框架

Java 集合框架 早在Java 2中之前,Java就提供了特设类.比如:Dictionary, Vector, Stack, 和Properties这些类用来存储和操作对象组. 虽然这些类都非常有用,但是它们缺少一个核心的,统一的主题.由于这个原因,使用Vector类的方式和使用Properties类的方式有着很大不同. 集合框架被设计成要满足以下几个目标. 该框架必须是高性能的.基本集合(动态数组,链表,树,哈希表)的实现也必须是高效的. 该框架允许不同类型的集合,以类似的方式工作,具有高度

[转载]Java集合框架的常见面试题

http://www.jfox.info/40-ge-java-ji-he-lei-mian-shi-ti-he-da-an 整理自上面链接: Java集合框架为Java编程语言的基础,也是Java面试中很重要的一个知识点.这里,我列出了一些关于Java集合的重要问题和答案. 1.Java集合框架是什么?说出一些集合框架的优点? 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector.Stack.HashTable和Array.随着集合的广泛使用, Java1.2提出了囊括所有集

[转载] Java集合框架之小结

转载自http://jiangzhengjun.iteye.com/blog/553191 1.Java容器类库的简化图,下面是集合类库更加完备的图.包括抽象类和遗留构件(不包括Queue的实现): 2.ArrayList初始化时不可指定容量,如果以new ArrayList()方式创建时,初始容量为10个:如果以new ArrayList(Collection c)初始化时,容量为c.size()*1.1,即增加10%的容量:当向ArrayList中添加一个元素时,先进行容器的容量调整,如果容

Java - 集合框架完全解析

来自:http://www.jianshu.com/p/63e76826e852 数据结构是以某种形式将数据组织在一起的集合,它不仅存储数据,还支持访问和处理数据的操作.Java提供了几个能有效地组织和操作数据的数据结构,这些数据结构通常称为Java集合框架.在平常的学习开发中,灵活熟练地使用这些集合框架,可以很明显地提高我们的开发效率,当然仅仅会用还是不够的,理解其中的设计思想与原理才能更好地提高我们的开发水平.下面是自己对Java集合框架方面的学习总结. 一.概述 二.Collection接

解析java集合框架

在Java语言中,Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类).所有抽象出来的数据结构和操作(算法)统称为Java集合框架(Java Collection Framework). Java程序员在具体应用时,不必考虑数据结构和算法实现细节,只需要用这些类创建出来一些对象,然后直接应用就可以了.这样就大大提高了编程效率. Java类集框架的优势:        1) 这种框架是高性能的.对基本类集(动态数组,链接表,树和散列表)的实现是高效率的.一般很少