A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 森111 中级黑马   /  2018-11-20 16:20  /  513 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Map 接口的特点:

Collection中的集合称为单列集合Map中的集合称为双列集合

Map接口中的集合都有两个泛型变量<K,V>,在使用时,要为两个泛型变量赋予数据类型。两个泛型变量<K,V>的数据类型可以相同,也可以不同

Map 没有元素由键与值两部分组成

Map的键不能重复

键和值都可以为null

遍历Map 可以用keySet();方法  也可以用Entry键值对对象遍历

Entry 键值对对象遍历

Map中的键和值一一对应,这一对对象成为Entry(项).Entry将键值对的对应关系封装成了对象:键值对对象

public K getKey()获取Entry对象中的键

public V getValue():获取Entry对象中的值

HashMap<K,V>

存储数据采用的哈希表结构,元素的存取顺序不能保证一致.由于要保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法

LinkedHashMap<K,V>

HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法


Map接口中的常用方法:

public V put(K key, V value):  查看集合中是否有key键,没有则添加这对键值对,返回值为null;有key键则将原集合中的key对应的值替换为参数内值(value),返回值为被替换的值.

public V remove(Object key): 把指定的键 所对应的键值对元素 在Map集合中删除,返回被删除元素的值

public V get(Object key): 根据指定的键,在Map集合中获取对应的值

boolean containsKey(Object key) :判断集合中是否包含指定的键

public Set<K> keySet(): 获取Map集合中所有的键,存储到Set集合中

public Set<Map.Entry<K,V>> entrySet(): 获取到Map集合中所有的键值对对象的集合(Set集合)


JDK9对集合添加的优化

新的List、Set、Map的静态工厂方法可以更方便地创建集合的不可变实例

1:of()方法只是Map,List,Set这三个接口的静态方法,其父类接口和子类实现并没有这类方法,比如    HashSet,ArrayList等等;

2:返回的集合是不可变的;


Debug追踪

断点:

        breakpoint, 在debug模式下, 程序运行到断点会暂停住, 便于我们在程序运行过程中查看

Debug调试程序:

    可以让代码逐行执行,查看代码执行的过程,调试程序中出现的bug

使用方式:

    在行号的右边,鼠标左键单击,添加断点(每个方法的第一行,哪里有bug添加到哪里)

    右键,选择Debug执行程序

    程序就会停留在添加的第一个断点处

执行程序:

    F8:逐行执行程序

    F7:进入到方法中

    shift+F8:跳出方法

    F9:跳到下一个断点,如果没有下一个断点,那么就结束程序

    ctrl+F2:退出debug模式,停止程序

    Console:切换到控制台

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马