Advertisement

大二JAVA笔记 第二章

阅读量:

第二章:集合【开发应用重点+企业面试重点+考试重点】

一、集合

1. 概念:一种操作便利的对象容器,存储多个对象,多数情况下可替代数组。

2. 位置:所有集合的接口和相关实现类都是位于 java.util 包中

3. 从各个具体方面进行学习: 集合接口的主要特征 集合中的方法 其实现类 对应的技术 集合的遍历方式

4. 集合分类:

Collection集合

List集合

Set集合

Map集合

Map

二、Collection集合体系

1. 父接口:Collection接口

(1) Collection接口特点:以数据项存储数据类型为Object的对象

(2) Collection接口中的操作:

添加操作:传入一个目标对象进行添加

获取元素数量:返回当前集合所包含的目标对象个数 【重点

2. 子接口:List

重点

3. 子接口:Set

三、Map集合体系

该系统支持基于键值对的数据存储功能(key-value),其中键属性具有以下特点:其一为顺序无关且不带索引编号,并不允许存在多个相同的元素;而值属性同样具有顺序无关及不带索引编号的特点,并允许存在多个相同的元素。

2. 方法:

3. 实现类:HashMap

4. 遍历:

(1) 键遍历:

Set keys= stus.keySet(); // 获取所有的键

// 通过 遍历 set集合获取每一个键

for(String key:keys){

Student stu = stus.get(key); // 通过键获取对应的值

}

(2) 值遍历:

Collection cs= stus.values(); // 获取所有的值

// 通过遍历获取 集合中每个值

for(Student stu:cs){

System.out.println(stu);

}

(3) 键值对遍历:

Set> kvs=stus.entrySet(); // 获取所有的键值对

// 获取每个键值对

for(Map.Entry kv:kvs){

// 通过操作 Entry 获取对应的键 和 值

String s1=kv.getKey();

Student stu=kv.getValue();

System.out.println(s1+"-----"+stu);

}

5. 不同的实现类:

(1) HashMap: JDK 1.2 版本;非 thread-safe;性能较高;支持 null 作为 key 或 value。

(2) Hashtable: JDK 1.0 版本;thread-safe;性能较低;不允许 null 作为 key 或 value。

(3) LinkedHashMap: HashMap 的 subclass;按照元素插入顺序存储数据。

(4) Properties: subclass of Hashtable;要求 key 和 value 均为 String 类型;The most commonly used scenario is reading configuration files from a file.

(5) TreeMap: 实现 SortedMap 接口(属于 Map 子接口);实现该接口,并按键自动生成排序。

全部评论 (0)

还没有任何评论哟~