-------Java培训、Android培训、iOS培训、.Net培训、-------
1.Map集合概念:
Map集合可以存储键值对, 在存储的时候存一个键对象和一个值对象.
集合中的键是唯一的, 可以根据键获取值
2.Map集合常用方法
添加记录: put(K key, V value)
删除记录: remove(Object key)
根据键获取值: get(Object key)
获取长度: size()
判断是否包含某个键: containsKey(Object o)
判断是否包含某个值: containsValue(Object o)
获取所有键组成的集合: keySet()
获取所有键值对组成的集合: entrySet()
public static void main(String[] args) {
Map<String, String> map=new HashMap<String,String>();
map.put("01", "zhangsan1");
map.put("02", "zhangsan2");
map.put("03", "zhangsan3");
//查询key值是否在Map集合中是否存在,返回boolean值
System.out.println(map.containsKey("01"));
}
public static void main(String[] args) {
TreeMap<String,String> tm=new TreeMap<String,String>();
tm.put("01", "zhangsan1");
tm.put("02", "zhangsan2");
tm.put("03", "zhangsan3");
//将Map集合中的映射关系取出,存入到Set集合中
Set<Map.Entry<String, String>> entry=tm.entrySet();
//迭代器泛型
Iterator<Map.Entry<String, String>> it=entry.iterator();
while(it.hasNext()){
Map.Entry<String, String> me=it.next();
System.out.println(me);
}
}
Map.Entry其实Entry也是一个接口,它是Map接口中的一个内部接口
interface Map{
//静态接口
public static interface Entry{
//Object类型的抽象方法
public abstract Object getKey();
public abstract Object getValue();
}
}
4.HashMap:二叉数据结构,线程不同步,可以用于给存入的元素排序
底层是用红黑树(二叉树)来保证键的唯一性,和对键进行排序。排序:如果返回值>0,则传入的数据放在右边。
TreeMap的键的对象必须实现Comparable接口,重写compareTo方法。或者让TreeMap具有可比性,可以传一个比较器给集合。