集合

来源:互联网 发布:经典算法 编辑:程序博客网 时间:2024/06/02 09:17


 

  0hi猿团提供了移动跨平台开发视频,包括html5,apicloud appcan,dcloud,具体请看http://www.9y.cm 

java集合是一中数据结构,集 (Set): Set集合中不区分元素的顺序,不允许出现重复的元素。

列表(List):List集合区分元素的顺序,可以允许包含重复的元素。
映射(Map):Map映射中保存成对的“键-值”(Key-Value)的信息,映射中不能包含重复的键,
            每个键最多只能映射一个值

接口与类的层次

Set与List接口都继承了java.util.Collection接口。HashSet与TreeSet是Set接口的两个不同实现类,
对于List接口它的实现类有ArrayList与Vector,对于Vector它还有一个子类叫Stack.
对于Map接口,它的实现类有HashMap,Hashtable,TreeMap

Collection与map区别是colection中存放对象是有位置顺序的,而set没有。由于list的对象有位置的差异,允许重复,而sset不行!
 java.util.Vector也实现了List接口,其描述的也是可变长度的对象数组。java.util.Iterator接口描述的是以统一方式对各种集合元素进行遍历、迭代的工具,也称“”迭代器。java.util.HashSet类实现了java.util.Set接口,描述典型的Set集合结构。java.util.TreeSet类也实现了java.util.Set,它描述的是Set的一种变体,它可以实现排序功能的集合。 java.util.HashMap类实现了java.util.Map接口,该类基于哈希表实现了前述的映射集合结构。以字节为导向的stream,表示以字节为单位从stream中读取或往stream中写入信息。以字节为导向的stream包括下面几种类型:
1) input stream:
1) ByteArrayInputStream:把内存中的一个缓冲区作为InputStream使用
2) StringBufferInputStream:把一个String对象作为InputStream
3) FileInputStream:把一个文件作为InputStream,实现对文件的读取操作
4) PipedInputStream:实现了pipe的概念,主要在线程中使用
5) SequenceInputStream:把多个InputStream合并为一个InputStream
2) Out stream
1) ByteArrayOutputStream:把信息存入内存中的一个缓冲区中
2) FileOutputStream:把信息存入文件中
3) PipedOutputStream:实现了pipe的概念,主要在线程中使用
4) SequenceOutputStream:把多个OutStream合并为一个OutStream
如果我们要往一个文件中写入数据,我们可以这样操作:
FileOutStream fs = new FileOutStream(“test.txt”);
然后就可以通过产生的fs对象调用write()函数来往test.txt文件中写入数据了。但是,如果我们想实现“先把要写入文件的数据先缓存到内存中,再把缓存中的数据写入文件中”的功能时,上面的API就没有一个能满足我们的需求了。但是通过FilterInputStream和FilterOutStream的子类,为FileOutStream添加我们所需要的功能。