---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------GUI编程
Map集合
接口 Map<K,V>
类型参数:
K - 此映射所维护的键的类型
V - 映射值的类型
public interface Map<K,V>将键映射到值的对象。一个映射不能包含重复的键;每个键最
多只能映射到一个值。
1、添加
V put(K key, V value)
将指定的值与此映射中的指定键关联(可选操作)。
void putAll(Map<? extends K,? extends V> m)
从指定映射中将所有映射关系复制到此映射中(可选操作)。
2、删除
void clear()
从此映射中移除所有映射关系(可选操作)。
V remove(Object key)
如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。
3、判断
boolean containsKey(Object key)
如果此映射包含指定键的映射关系,则返回 true。
boolean containsValue(Object value)
如果此映射将一个或多个键映射到指定值,则返回 true。
4、获取
V get(Object key)
返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null。
Map
|-- HashTable:底层是哈希表数据结构,不允许使用null值和null
键,该集合是线程不同步的
|--HashMap:底层是哈希表数据结构,允许使用null值和null键,该集合是线程不
同步的
|--TreeMap:底层是二叉树数据结构,线程不同步,可以用于给map集合中的键进
行排序
Map集合的两种取出方法:
1、KyeSet :将map集合中所有的键存入到Set集合,可以通过Set的迭代方法取出所有的键,
再根据get方法,获取每一个键对应的值
2、entrySet:将map集合中的映射关系存入到set集合中,而这个关系的数据类型就是:
Map.Entry
通过Set集合的iterator方法遍历只能给个set集合,通过Map.Entry类的内部方法getKey 和
getValue方法即可获得对应的键和值
import java.util.*;
import java.util.Map.Entry;
public class MapDemo {
public static void main(String[] args){
Map<String,String>map = new HashMap<String,String>();
//添加元素
map.put("01", "张三");
map.put("02", "Lisi");
map.put("03", "wangwu");
//删除元素
map.remove("01");
map.put(null, "班主任");
//通过key获得value
System.out.println(map.get(null));
//获取整个map中的value
Collection<String> col = map.values();
System.out.println(col);
//keySet的使用方法
Iterator<String> it = map.keySet().iterator();
while(it.hasNext()){
String value = map.get(it.next());
System.out.println(value);
}
//entrySet的使用方法
Iterator<Entry<String,String>> entryit = map.entrySet
().iterator();
while(entryit.hasNext()){
Map.Entry<String, String> mapEntry = (Entry<String,
String>) entryit.next();
String key = mapEntry.getKey();
String value = mapEntry.getValue();
System.out.println("key:"+key+" value:"+value);
}
System.out.println(map);
}
}
TreeMap<K,V> :可以进行排序的Map集合
排序方法基于红黑树(Red-Black tree)的 NavigableMap 实现。该映射根据其键的自然顺
序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方
法。
TreeMap()
使用键的自然顺序构造一个新的、空的树映射。
TreeMap(Comparator<? super K> comparator)
构造一个新的、空的树映射,该映射根据给定比较器进行排序。