我是靠谱客的博主 无语红牛,最近开发中收集的这篇文章主要介绍黑马程序员---Map集合 学习笔记,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

---------------------- android培训、 java培训、期待与您交流! ----------------------

集合: Map:

           Map: 存储的是键值对的形式, 键唯一, 可以通过键查找值;

1.HashMap: 和hashSet原理相同, 都是用哈希算法去重复, HashMap在存储键值对的时候, 对key对象取哈希值, 然后查找是否有相同的哈希值对象, 如果没有就直接存入, 如果有哈希值相同的key对象, 那么就和哈希值相同的key对象进行equals()比较. 结果为true就存入, 结果为false就覆盖, 非线程同步.无序的,即元素存入和取出的顺序不一定一致.

           2.TreeMap: 底层数据结构是二叉树, 可以按照key对象的顺序进行排序, 如果不指定顺序则按照key对象的自然顺序, 或者也可以指定一个比较器顺序, 非线程同步.允许对Map集合中的键进行排序.

           3.HashTable: 数据结构也是哈希表.线程同步,因此效率较低.不能用null作为键值,被HashMap替代了.

           4.迭代Map集合:

              <1>使用keySet()方法得到Map集合中所有key对象组成的set集合;

                     遍历这个key对象就可以得到每个key对象;

                     然后用key对象获取Value;

                     原理:将Map转换成Set,再使用迭代器, key对象就等于是一个set集合;

                    思路: 将Map转换成Set,再使用迭代器.使用keySet()方法,将键存入一个Set集合,在使用迭代器进行遍历的过程中,用getValue()获取相应的值.

                                   如:

                                         Set set = map.keySet();
                                         for(Iterator it=set.iterator(); it.hasNext(); )
                                        {
                                                 String key = it.next();
                                                 System.out.println("key="+key+",value="+map.getValue(key));
                                        }

                     <2>entterySet(就是一个键值对):

                            使用entrySet()方法得到Map集合中的所有Entry对象组成的集合,遍历这个Set集合就可以得到没哟个Entry对象;

                            entrySet()方法,返回的是包含键值对映射关系的Set集合, 然后通过Entry对象的getkey()方, ,和getgetValue()方法得到key和Value对象;

如::

                                          Set<Map.Entry<k,v>> set = map.entrySet();
                                          for(Iterator it=set.iterator(); it.hasNext(); )
                                          {
                                                  Map.Entry<k,v> me = it.next();
                                                  System.out.println("key="+me.getKey()+",value="+me.getValue());
                                          }

---------------------- android培训、 java培训、期待与您交流! ----------------------

最后

以上就是无语红牛为你收集整理的黑马程序员---Map集合 学习笔记的全部内容,希望文章能够帮你解决黑马程序员---Map集合 学习笔记所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部