Java提供了大量持有对象的方式:

(1) 数组将数字与对象联系起来。 它保存类型明确的对象,查询对象时,不需要对结果做类型转换。它可以是多维的, 可以保存基本类型的数据。 但是,数组一旦生成,其容量就不能改变。

(2)Collection保存单一的元素,而Map保存相关联的键值对。有了Java的泛型,你就可以指定容器中存放的对象类型, 因此你就不会将错误类型的对象放置到容器中,并且在从容器中获取元素时,不必进行类型转换。各种Collection 和各种Map都可以在你向其中添加更多的元素时,自动调整其尺寸。 容器不能持有基本类型,但是自动包装机制会仔细地执行基本类型到容器中所持有的 包装器类型之间的双向转换。

(3)像数组一样,List也建立数字索引与对象的关联,因此,数组和List都是排好序的容器。 List能够自动扩充容量。

(4)如果要进行大量的随机访问, 就使用ArrayList具有数组的特性,如果要经常从表中间插入或删除元素,则应该使用        LinkedList(具有链表的特性)

(5)各种Queue(队列)以及栈的行为, 由LinkedList提供支持。

(6)Map是一种将对象(而非数字)与对象相关联的设计。HashMap设计用来快速访问,而TreeMap保持 “键” 始终处于排序状态,所以没有    HashMap快。LinkedHashMap保持元素插入的顺序, 但是也通过散列提供了快速访问能力。

(7)Set不接受重复元素。HashSet提供最快的查询速度,而TreeSet保持元素处于排序状态。
LinkedHashSet以插入顺序保存元素。

Java容器的简图(不包含抽象类和遗留构件):

你可以看到, 其实只有四种容器: MapListSet和  Queue,它们各有两到三个实现版本。常用的容器用黑色粗线框表示。

点线框表示接口, 实线框表示普通的(具体的) 类。带有空心箭头的点线表示一个特定的类实现了一个接口, 实心箭头表示某个类可以生成箭头所指向类的对象。 例如, 任意的

Collection
可以生成Iterator,而List可以生成Listlterator (也能生成普通的Iterator,因为List继承自   Collection

Java的容器每天都会用到的工具, 它可以使程序更简洁更强大更高效。

1.Java容器概述

2.Java容器---基本概念

3.Java容器---Collection接口

4.Java容器---Arrays & Collections工具类

5.Java容器---字符容器StringBuffer & StringBuilder

6.Java容器---List基础

7.java容器---Comparable & Comparator

8.Java容器---Set基础: HashSet & TreeSet & LinkedHashSet

9.Java容器---迭代器

10.Java容器---Map基础

Java---容器基础总结的更多相关文章

  1. 工作随笔—Java容器基础知识分享(持有对象)

    1. 概述 通常,程序总是运行时才知道的根据某些条件去创建新对象.在此之前,不会知道所需对象的数量,甚至不知道确切的类型,为解决这个普遍的编程问题:需要在任意时刻和任意位置创建任意数量的对象,所以,就 ...

  2. java容器基础

    总结一下学过的java容器知识. 一.java容器框架 由于之前学习的java容器类比较混乱,先简单的整理一下java集合框架. 首先,像这种图,网上到处都是,因为这个也算比较准确吧,我也懒得自己画了 ...

  3. Java容器基础概况

    一.什么是Java容器 书写程序时,我们常常需要对大量的对象引用进行管理.为了实现有效的归类管理,我们常常将同类的引用放置在同一个数据容器中.Java容器类是java提供的工具包,包含了常用的数据结构 ...

  4. Java容器之旅:容器基础知识总结

    下图展示了Java容器类库的完备图,包括抽象类和遗留构件(不包括Queue的实现). 常用的容器用黑色粗线框表示,点线框表示接口,虚线框表示抽象类,实线框表示类,空心箭头表示实现关系.Produce表 ...

  5. 【Java心得总结七】Java容器下——Map

    我将容器类库自己平时编程及看书的感受总结成了三篇博文,前两篇分别是:[Java心得总结五]Java容器上——容器初探和[Java心得总结六]Java容器中——Collection,第一篇从宏观整体的角 ...

  6. 【Java心得总结六】Java容器中——Collection

    在[Java心得总结五]Java容器上——容器初探这篇博文中,我对Java容器类库从一个整体的偏向于宏观的角度初步认识了Java容器类库.而在这篇博文中,我想着重对容器类库中的Collection容器 ...

  7. 【Java心得总结五】Java容器上——容器初探

    在数学中我们有集合的概念,所谓的一个集合,就是将数个对象归类而分成为一个或数个形态各异的大小整体. 一般来讲,集合是具有某种特性的事物的整体,或是一些确认对象的汇集.构成集合的事物或对象称作元素或是成 ...

  8. Java以基础类库

    Java以基础类库JFC(Java Foundation Class)的形式为程序员提供编程接口API,类库中的类按照用途归属于不同的包中. (一)java.lang包 Java最常用的包都属于该包, ...

  9. java容器---集合总结

    思考为什么要引入容器这个概念? Java有多种方式保存对象(应该是对象的引用),例如使用数组时保存一组对象中的最有效的方式,如果你想保存一组基本类型的数据,也推荐使用这种方式,但大家知道数组是具有固定 ...

  10. 3)Java容器

    3)Java容器   Java的集合框架核心主要有三种:List.Set和Map.这里的 Collection.List.Set和Map都是接口(Interface). List lst = new ...

随机推荐

  1. Java入门:基础算法之检查奇偶性

    本程序检查一个数是奇数还是偶数. import java.util.Scanner; class CheckEvenOdd { public static void main(String args[ ...

  2. kibana多台服务部署

    nohup /usr/share/kibana/bin/kibana -c /etc/kibana/kibana5602.yml & cp kibana.yml kibana5602.yml ...

  3. Spring Resource 类图

    插播个广告 老丈人家的粉皮儿,农产品,没有乱七八糟的添加剂,欢迎惠顾 

  4. openresty/1.11.2.1性能测试

    测试数据 ab -n -c -k http://127.0.0.1/get_cache_value nginx.conf lua_shared_dict cache_ngx 128m; server ...

  5. List(JDK1.7)(2)

    LinkedList List接口和Deque接口的一种双向链表实现.非同步的. 快速失败机制.ConcurrentModificationException 结点结构 插入结点 删除结点 add() ...

  6. PIE的使用

    实际上是指的是一个名为pie的htc文件,即pie.htc,使用CSS的behavior行为,可以调用此文件,然后让IE也能实现一些常见的 CSS3效果,如圆角(border-radius),盒阴影( ...

  7. Spring 3.2 @Autowired异常:expected single matching bean but found 2

    在使用Sping做单元测试时候,对RequestMappingHandlerAdapter(从处理器包装过来的适配器)进行自动装配, 发现报:expected single matching bean ...

  8. linux配置网路 设定主机名 ssh bash命令 通配符

    临时配置网络(ip,网关,dns) #ifconfig ens33 192.168.185/24 #ens33网卡名称.192.168.185/24是要配置的ip地址/子网掩码 #vim /etc/r ...

  9. R的农场 chebnear

    评测传送门 Description最近,R 终于获得了一片他梦寐以求的农场,但如此大的一片农场,想要做好防卫工作可不是一件容易的事.所以 R 购买了 N 个守卫,分别让他们站在一定的位置上(守卫不可移 ...

  10. python初步学习-python 模块之 json

    json 模块 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写.一般API返回的数据大多是 JSON.XML,如果返回JSON的话,将获取 ...