Map集合



/* Map接口
 *   |-----HashMap:Map的主要实现类
 *   |-----LinkedHashMap:使用链表维护加入进Map中的顺序。故遍历Map时,是按加入的顺序遍历的。


 *   |-----TreeMap:依照加入进Map中的元素的key的指定属性进行排序。要求:key必须是同一个类的对象!


 *     针对key:自然排序   vs 定制排序
 *   |-----Hashtable:古老的实现类,线程安全,不建议使用。
 *    |----Properties:经常使用来处理属性文件。键和值都为String类型的
 */

①Map经常用法:
 Object put(Object key,Object value):向Map中加入一个元素
 Object remove(Object key):依照指定的key删除此key-value
 void putAll(Map t) void clear():清空 Object
 get(Object key):获取指定key的value值。若无此key,则返回null
 boolean containsKey(Object key)
 boolean containsValue(Object value)
 int size():返回集合的长度 boolean
 isEmpty()
 boolean equals(Object obj)
 
 HashMap: 1.key是用Set来存放的,不可反复。

value是用Collection来存放的,可反复
 一个key-value对,是一个Entry。

全部的Entry是用Set存放的,也是不可反复的。
 2.向HashMap中加入元素时。会调用key所在类的equals()方法。推断两个key是否同样。

若同样 则仅仅能加入进后加入的那个元素。

②怎样遍历Map
 Set keySet() :遍历key集。


 Collection values() :遍历value集
 Set entrySet():遍历key-value对//
 方式一:
Set set1 = map.keySet();
for (Object obj : set1) {
 System.out.println(obj + "----->" + map.get(obj));
}
// 方式二:
Set set2 = map.entrySet();
for (Object obj : set2) {
 Map.Entry entry = (Map.Entry) obj;
 // System.out.println(entry.getKey() + "---->" + entry.getValue());
 System.out.println(entry);
}
③经常使用来处理属性文件。

键和值都为String类型的
 Properties pros = new Properties();
 pros.load(new FileInputStream(new File("jdbc.properties")));
 String user = pros.getProperty("user");

原文地址:https://www.cnblogs.com/yjbjingcha/p/6851791.html