一、Map接口
1.Map接口是存储一组成对出现的键(key)---- 值(value)对象。
2.Map接口中的key集无序,唯一,可以为空null,也就是只有一个键集为空,如果有重复的后面的会覆盖前面的。value集无序,允许重复。
3.Map接口得到常用方法
方法 | 说明 |
Object put(Object key,Object value) | 将相互关联的一个key键与一个value值放入该集合,如果该Map接口中已经包含了key的value,那么旧的value值就会被覆盖! |
Object remover(Object key) | 移除key键 |
Object get(Object key) | 获得key键集相关的value值,如果该key不关联任何非null值,则返回非null. |
boolean containsKey(Object key) | 判断该集合中是否存在key |
boolean containsValue(Object value) | 判断该集合中是否存在value |
boolean isEmpty() | 判断该集合中是否存在元素 |
void clear() | 清除集合中的所有元素 |
jint size() | 返回集合中元素的数量 |
Set keySet() | 获取所有的key键集的集合, |
Collection values() | 获取所有的value的集合 |
2.使用HashMap类动态存储数据
Map接口中最常用的实现类是HasMap类,它的优点是查询指定元素效率高。
可以通过遍历循环的方式Map集合:可以通过iterator接口迭代器迭代的方式,增强for循环,还有键值-对的形式。
注意:数据添加到HashMap集合后,所有的数据都转换成Object类型,那么从中拿出来的时候就需要进行强制类型转换。
还有HashMap集合类不能够保证映射的顺序,因为他的键值是无序的!
二、Collections类
Collections类是java中提供的一个集合操作工具类,可以对集合中元素的排序,查找,和替换等操作。
注意:Collectons类和Collection接口是不同的,前面的是操作类,后面的集合接口。
1.对集合中元素的排序和查找:
要想进行元素之间的排序,就需要知道元素的大小,在java中要实现对象之间的比较大小,那么这个类需要实现Comparable接口。这个接口能够强行对实现他的每个类进行整体排序,也叫做自然排序,其中的方法是compareTo()方法叫做自然比较方法。
语法如下:int compareTo(Object obj);
- 参数:obje 就是要比较的对象
- 返回值:负整数表示对象是小于,0是等于,整数是大于。
实现此接口的对象,可以通过Collections.sort()方法和Arrays.sort()方法进行自动排序。
注意:Map接口是无序的,所以不能对Map接口做排序操作。但是List接口是有序的,所以可以对List接口进行排序,但是List接口中存放的元素,必须是实现了Comaparable接口的元素才可以!
2.替换元素
使用Collections类的静态方法fill()方法来实现。
三、泛型
泛型:泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数,是代码可以应用于多种类型。
使用泛型的好处:
- 可以保证数据存取的安全性
- 因为不需要类型的强制转换,简化代码,提高了代码的重用率。
泛型的定义:简单的讲是,将对象的类型作为参数,指定到其他类或者方法上,从而保证类型转换的安全性和稳定性。
泛型的使用:
ArrayList <String> list=new ArrayList<String> ();