您的位置:首页 > 编程语言 > Java开发

5.java集合学习,Set,List,Map

2016-12-30 14:41 288 查看
java–学习五.java集合类

概念:

一种工具类,就像是容器,存储任意数量的具有共同属性的对象

1. 特点及其解决的问题,

(1. 长度不确定。

(2. 可自行排序。

(3. 以键值对的形式存储数据。

2. 典型类有:

(1. 实现Collection接口的 Set,List 及其实现类,ArrayList,SashSet等

(2. 实现Map接口的 HashMap 及其实现类 HashTable等

3.作用:

(1. 在类的内部,对数据进行组织

(2. 简单而快速的搜索大数量的条目

(3. 有的集合接口,提供一系列排列有序的元素,并且可以在序列中减快速的插入或者删除有关元素

(4. 有的接口,提供了映射关系,可以通过关键字(key)去快速查找对应的唯一对象,而这个关键字是任意类型。

数组弊端:

(1. 数组的长度固定,集合长度可变

(2. 数组只能通过下标访问元素,类型固定,而有的集合可以通过任意类型查找所映射的具体对象

4. java集合框架体系结构

(1).LinkedList(链表)

List(序列) —> ArrayList(数组序列)(存储排列有序可以重复)

Collection(接口) ————> Queue(队列) —> LinkedList(链表)

Set(集) —> HashSet(哈希集)(无序不可重复)

集合:

Map(接口) —–实现类——-> HashMap(哈希图)由 Entry (键值对) Key-Value组成

List(接口) —–> ArrayList

(1. 元素有序并且可以重复的集合 — 序列

(2. 可以精确的控制每个元素的插入位置和删除某个位置的元素

(3. ArrayList(数组序列),底层是有数组实现的

5. List使用:

(1. 创建声明一个集合的对象:

首先需要声明一个集合如:

List<Object(类型可不写)> list;
//由于List是接口类型不能实例化,在这实例它的实现类
this.list = new ArrayList<Object(和上面元素类型相同)>();


(2. 向集合中添加元素:

add(int, Object(和上述类型相同));
//int为插入位置,默认(集合从0计起),不写默认插入到尾部


(3. 取出集合中的元素:

===1. 使用get()方法,
list.get(int)  //获取int位置的元素,不可大于等于存储个数,不可小于零
===2. 通过迭代器来遍历List
Iterator iterator = list.iterator();
while(iterito.hasNext()){
object obj = iterito.next();
}//  hasNext() 判断是否还有元素,next() 依次访问元素
===3. 通过for each 方法访问集合元素
for(Objrect obj : list)
{
...
}// 逐个访问 list 中的元素


(4. 修改List中的元素

使用 set() 方法
list.set(int, Object);
//int -- 添加到的位置(从零开始)  Object -- 添加的对象


(5. 删除相应位置的元素

使用 Remove() 方法
list.Remove(int);
// int -- 需要删除的位置(从零开始)
list.Remoce(list.get(int))
// 先要获得 int 位置上的对象,然后删除(该对象出现的一次的元素)

removeAll(List)
//删除和 List 集合中相同对象的所有元素,没有的不删除


子类对象是父类对象,但父类对象不是子类对象

基本类型不能作为集合的范性,必须使用其包装类

6. Set 使用:

Set 是元素无序并且不可重复的集合 – 被称为集

HashSet – 哈希集, 是Set 的一个重要实现类

(1. 没有 set() 修改指定位置元素信息的方法没有 get() 方法

(2. Set 会对重复元素进行屏蔽

(3. 其他使用放法同List


7. Map 使用:

Map提供了一种映射的关系,其中元素是键值对( key - value)的形式存储的,能够实现
根据 key 快速查找 value键值对是以 Entry 类型的对象实例形式存在

键(key值)不可以重复, value 值可以重复

每个键最多映射一个值,一个值可被多个键映射。

* * *

Map支持范性, 形如 : Map < K , V > K,V均为类类型

(1. HashMap 类 HashMap 是 Map 的一个实现类,也是最常用的基于哈希表实现

(2. HashMap 中的Entry 对象是无序排列的

(3. key 值 和 value 值都是可以为 null, 但是一个 HashMap只有一个 key 值为 null的映射(key 值不可重复)

(4. Map 添加和 List 和 Set 添加的方法有异 put(key , value);

(5. Map 获得Value 使用 get(key) 获得相应的 value

(6. Map 删除操作 remove(key)

(7. Map 修改集合内容 同添加,相当于是添加了新的内容,将之前内容覆盖
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息