码迷,mamicode.com
首页 > 编程语言 > 详细

Java容器学习:List、Set、Queue、Map

时间:2015-01-25 18:19:12      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:

一、容器

很多时候,程序总是根据运行时才知道的某些条件去创建新对象,在此之前不知道所需对象的数量,甚至对象的类型,这时就需要容器来保存对象。Java容器类可以自动地调整自己的尺寸。容器类类库可以划分为两个不同的概念:

  1. Collection。一个独立元素的序列,如List(按照插入顺序保存元素),Set(不能有重复元素),Queue(按排队规则确定对象产生的顺序);
  2. Map。一组成对的“键值对”对象,允许用键来查找值。Map维护了一张映射表,也叫“关联数组”或“字典”。

有两种类型的List,都是按被插入的顺序保存元素:
  1. ArrayList,随机访问元素比较快,但是在List中间插入和移除元素比较慢;
  2. LinkedList,在随机访问元素比较慢,但是在List中间插入和移除元素比较快,提供了优化的顺序访问。

Stack,“栈”,是个“后进先出(LIFO)”的容器,最后一个压入栈的元素,第一个弹出栈。LinkedList具有能够直接实现栈的所有功能的方法,可以将LinkedList作为栈使用。


二、迭代器

迭代器是一个对象,工作是遍历并选择序列中的对象,而客户端程序员不必知道该序列底层的结构,即不管序列结构是ArrayList、LinkedList还是HashSet,都可以用迭代器来遍历序列。Iterable接口包含一个能产生Iterator的iterator()方法,并且Iterable接口被foreach用来在序列中移动,所以如果创建了任何Iterable的类,都可以用于foreach语句中,Collection类(但不包括Map)都是Iterable类型,Map得先用entrySet()方法产生一个由Map.Entry的元素构成的Set,由于Set是一个Iterable,所以可以用foreach循环。


最后看一下Java容器的简图,黑框的是常用的容器。

技术分享



Java容器学习:List、Set、Queue、Map

标签:

原文地址:http://blog.csdn.net/allhaillouis/article/details/43114941

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!