java常用的几种集合_第1页
java常用的几种集合_第2页
java常用的几种集合_第3页
java常用的几种集合_第4页
java常用的几种集合_第5页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、集合类是放在java.util.*;这个包里。集合类存放的都是对象的引用,而非对象本身,为了说起来方便些,我们称集合中的对象就是指集合中对象的引用(reference)。引用的概念大家不会忘了吧,在前边我们讲数据类型时讲的。 集合类型主要有3种:set(集)、list(列表)、map(映射)和Queue(队列)。/队列为jdk5中的加上的 (1) Set集(set)是最简单的一种集合,它的对象不按特定方式排序,只是简单的把对象加入集合中,就像往口袋里放东西。对集中成员的访问和操作是通过集中对象的引用进行的,所以集中不能有重复对象。我们知道数学上的集合也是Set这个,集合里面一定是没有重复的元素

2、的。 (2)List列表(List)的主要特征是其对象以线性方式存储,没有特定顺序,只有一个开头和一个结尾,当然,它与根本没有顺序的Set是不同的。它是链表嘛,一条链肯定有顺序这个顺序就不一定了。 (3)Map 映射(Map),这个在java里不是地图的意思,其实地图也是映射哈。它里面的东西是键值对(key-value)出现的,键值对是什么呢?举个例子,比如我们查字典,用部首查字法。目录那个字就是键,这个字的解释就是值。键和值成对出现。这样说可以理解吧。这也是很常用的数据结构哦。 (4)Queue 在jdk5.0以前,通常的实现方式是使用java.util.List集合来模仿Queue。Que

3、ue的概念通过把对象添加(称为enqueuing的操作)到List的尾部(即Queue的后部)并通过从List的头部(即Queue的前部)提取对象而从 List中移除(称为dequeuing的操作)来模拟。你需要执行先进先出的动作时可以直接使用Queue接口就可以了。 这4个东西,有时候功能还不太完善,需要有些子类继承它的特性。Set的子接口有TreeSet,SortedSet,List的有ArrayList等,Map里有HashMap,HashTable等,Queue里面有BlockingQueue等。我们来看看例子吧: 实践: Set举例 import java.util.*; publi

4、c class SetExample public static void main(String args) Set set = new HashSet(); /HashSet是Set的子接口 set.add("one"); set.add("second"); set.add("3rd"); set.add(new Integer(4); set.add(new Float( 5.0F ); set.add("second"); set.add(new Integer(4); System.out.printl

5、n(set); List举例: import java.util.*; public class ListExample public static void main(String args) List list = new ArrayList(); list.add("one"); list.add("second"); list.add("3rd"); list.add(new Integer(4); list.add(new Float( 5.0F ); list.add("second"); list.a

6、dd(new Integer(4); System.out.println(list); Map举例 import java.util.Map; import java.util.HashMap; import java.util.Iterator; import java.io.FileReader; public class MapExample public static void main(String args) throws java.io.FileNotFoundException Map word_count_map = new HashMap(); FileReader re

7、ader = new FileReader(args0); Iterator words = new WordStreamIterator(reader); while ( words.hasNext() ) String word = (String) words.next(); String word_lowercase = word.toLowerCase(); Integer frequency = (Integer)word_count_map.get(word_lowercase); if ( frequency = null ) frequency = new Integer(1

8、); else int value = Value(); frequency = new Integer(value + 1); word_count_map.put(word_lowercase, frequency); System.out.println(word_count_map); Queue举例: import java.io.IOException; import java.io.PrintStream; import java.util.LinkedList; import java.util.Queue; public class QueueTes

9、ter public Queue<String> q; /发现了一个奇怪的语法,这个尖括号是泛型声明 public QueueTester() q = new LinkedList<String>(); public void testFIFO(PrintStream out) throws IOException q.add("First"); q.add("Second"); q.add("Third"); Object o; while (o = q.poll() != null) out.println(o); public stat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论