java基础知识:集合知识-map集合

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011066470/article/details/83021793

1.map集合存储的是键值对,一对一对的存储。

添加:put(key,value); 删除 remove:clear(),remove(object obj);判断有:containskey(object key) containsvalue(object obj) isempty();  获取: get(object obj)  size()  values()等。

2.例子:

 Map<String,String> map=new HashMap<String,String>();
 map.put("01","lu");
 map.put("02","jian");
 map.put("03","fu");
 System.out.println("containskey:"+map.containsKey("01"));
System.out.println("remove:"+map.remove("03"));
 System.out.println("get:"+map.get("03"));
  Collection<String> coll=map.values();
    System.out.println("coll:"+coll);

结果:

containskey:true
remove:fu
get:null
coll:[lu, jian]

3.集合的两种遍历方式:

  1.keyset,将map中所有的键存储到set集合中,因为set集合具有迭代器,迭代方式取出所有的键,然后根据get方法,获取每个键值对的对应值。

2.entryset,大体和keyset相同

Map<String,String> map=new HashMap<String,String>();
 map.put("01","lu"); 
map.put("02","jian"); 
map.put("03","fu");
//1.第一种通过keyset ,while循环
Set<String> keySet=map.keySet();
Iterator<String> it=keySet.iterator();
while(it.hasNext()){
    String key=it.next();
    System.out.println("key:"+key+" value:"+map.get(key));
}
//2.第二种通过keyset,for循环
for(String k:map.keySet()){
 System.out.println("k:"+k+"=="+map.get(k));
}

结果:

key:01 value:lu
key:02 value:jian
key:03 value:fu
k:01==lu
k:02==jian
k:03==fu
4.map的集合的比较

hashtable :底层是哈希表,不可以存储null键null值,该集合线程同步,jdk1.0效率低

hashmap: 底层是哈希结构,允许存储null键null值,该集合是不同步的,jdk1.2效率高

treemap:  底层是二叉树,线程不同步,可以用于map集合中的键进行排序。

猜你喜欢

转载自blog.csdn.net/u011066470/article/details/83021793