java基础day17

  • 双列集合:
    -------------| Map 如果是实现了Map接口的集合类,具备的特点: 存储的数据都是以键值对的形式存在的,键不可重复,值可以重复。

    • Map接口的方法:

    添加:
    put(K key, V value) 如果之前没有存在该键,那么返回的是null,如果之前就已经存在该键了,那么就返回该键之前对应 的值。

    putAll(Map<? extends K,? extends V> m) 把一个集合的元素添加到另一个集合中

    删除
    remove(Object key) 根据键删除一条map中的数据,返回的是该键对应 的值。
    clear() 清空集合中的所有数据。

    获取:
    get(Object key) 根据指定 的键获取对应的值
    size() 获取map集合键值对个数

    判断:
    containsKey(Object key) 判断map集合是否包含指定的键
    containsValue(Object value) 判断map集合中是否包含指定 的值
    isEmpty()判断map集合是否为空元素
    迭代:
    keySet() 使用keySet方法进行遍历 缺点: keySet方法只是返回了所有的键,没有值。
    values() 使用values方法进行 遍历。 缺点: values方法只能返回所有 的值,没有键。
    entrySet()遍历:
    Set<Map.Entry<String,String>> entrys = map.entrySet();
    Iterator<Map.Entry<String,String>> it = entrys.iterator();
    while(it.hasNext()){
    Map.Entry<String,String> entry = it.next();
    System.out.println(“键:”+ entry.getKey()+" 值:"+ entry.getValue());

  • Map的实现类:Hash Map和Tree Map
    HashMap 底层也是基于哈希表实现 的。
    HashMap的存储原理:
    往HashMap添加元素的时候,首先会调用键的hashCode方法得到元素 的哈希码值,然后经过运算就可以算出该
    元素在哈希表中的存储位置。
    情况1: 如果算出的位置目前没有任何元素存储,那么该元素可以直接添加到哈希表中。

    情况2:如果算出 的位置目前已经存在其他的元素,那么还会调用该元素的equals方法与这个位置上的元素进行比较
    ,如果equals方法返回 的是false,那么该元素允许被存储,如果equals方法返回的是true,那么该元素被视为
    重复元素,不允存储。

TreeMap
TreeMap也是基于红黑树(二叉树)数据结构实现 的, 特点:会对元素的键进行排序存储。

TreeMap 要注意的事项:
1. 往TreeMap添加元素的时候,如果元素的键具备自然顺序,那么就会按照键的自然顺序特性进行排序存储。
2. 往TreeMap添加元素的时候,如果元素的键不具备自然顺序特性, 那么键所属的类必须要实现Comparable接口,把键
的比较规则定义在CompareTo方法上。

  1. 往TreeMap添加元素的时候,如果元素的键不具备自然顺序特性,而且键所属的类也没有实现Comparable接口,那么就必须
    在创建TreeMap对象的时候传入比较器。
  • Eclipse常用快捷键:

1.内容提示:Alt + /
2.快速修复:Ctrl + 1
3.导包:Ctrl + shift + O
4.格式化代码块:Ctrl + Shift + F
5.代码位置调换:Alt+上下键
6.添加/除去单行注释:Ctrl+/
7.添加/除去多行注释:
Ctrl+Shift+/
Ctrl+Shift+
8.复制行: Ctrl+Alt+向下键

发布了27 篇原创文章 · 获赞 0 · 访问量 523

猜你喜欢

转载自blog.csdn.net/byzcy/article/details/103044747