一(Map接口)
Map接口是一种双列集合,每个元素都包含一个键对象Key和值对象Value,键和值之间存在一种对象关系,称为“映射”。Map中的映射关系是一对一的,一个键对象Key对应唯一 一个值对象Value,其中键对象Key和值对象Value可以是任意数据类型,并且键对象Key不允许重复,这样在访问Map集合中的元素时,只要指定了对象Key,就能找到对应的对象Value。
Map集合的核心继承体系如下(蓝色代表接口,绿色代表类):
Map集合的常见方法如下表:
void put(Object key,Object value) | 向Map集合中添加指定键值映射的元素 |
int size() | 获取Map集合键值对映射的个数 |
Object get(Object key) | 根据指定的键Key获得映射的值Value,若此映射不包含该键的映射关系,则返回null |
boolean containsKey(Object key) | 判断Map集合中是否存在指定的键对象key |
boolean containsValue(Object value) | 判断Map集合中是否存在指定的值对象value |
Object remove(Object key) | 删除并返回Map集合中指定键对象key的值映射元素 |
void clear() | 清空整个Map集合中的键值映射元素 |
Set keySet() | 以Set集合的形式(因为键Key不能重复)返回Map集合中所有的键对象Key |
Collection values() | 以Collection集合(因为值Value不限制重复性)的形式返回Map集合中所有的值对象Value |
Set entrySet() | 将Map集合转换为存储元素类型为Map的Set集合(Key不能重复,Value不限制,所以最终的Map类型的元素也不能重复) |
boolean replace(Object key,Object value) | 将Map集合中指定键对象key所映射的值修改为value |
注意:Map集合中的键具有唯一性,当向集合中添加已存在的键值元素时,会覆盖之前已存在的键值元素。
二(Hashtable实现类+Properties集合)
Hashtable是一个古老的Map实现类,在JDK1.0的时候提供。
Hashtable实现原理和HashMap相同,功能相同.底层都是使用hash结构,可以互换。
Hashtable不允许使用null作为key和value;Hashtable线程安全(效率低)。
Properties集合是Hashtable集合的子类,该类对象用于处理属性文件
属性文件里的key和value都是字符串,所以properties里的key和value都是字符串类型在实际开发中,经常使用Properties集合类来存取应用的配置项。
案例:使用Properties来读取和写入文件内容(文件jdbc.prpperties在src目录下)
package 集合;
import java.io.*;
import java.util.Properties;
public class PropertiesDemo {
public static void main(String[] args) throws IOException {
//创建Properties对象用于处理属性文件
Properties p=new Properties();
//使用类加载器可以直接获取类(src)路径下的文件,不必是文件的绝对路径
InputStream inputStream=PropertiesDemo.class.getResourceAsStream("jdbc.properties");
//load(InputStream in)用于加载指定的属性文件
p.load(inputStream);
//根据指定的key获取文件中value
String url=p.getProperty("url");
String username=p.getProperty("username");
String password=p.getProperty("password");
System.out.println("url="+url);
System.out.println("username="+username);
System.out.println("psaaword="+password);
//指定要写入操作文件名称和位置
FileOutputStream outputStream = new FileOutputStream(new File("D:\\javaEE\\VIP07\\src\\集合\\jdbc.properties