一、Node

发布时间:2019-06-29 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了一、Node脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

我们知道,在各类查找方式中,哈希查找的@R_212_1304@是最小的O(1),因为这种方式并不需要遍历,而是直接计算出数据存储的位置,当然在hashmap中依然继承了这种优点。但是,在hashmap中node的使用也提升存取速度。
这是代码中对table数组的定义。

transient Node<K,V>[] table;

我们发现,table是一个Node类型的数组,而Node实现了Map的Entry接口,也就是说,它将一条记录和他的关键字绑定在了一起,我们可以通过一个node对象直接获取一对键值对的键和值,而不需要逐个遍历对比来查找他的值图片描述

static class Node<K,V> implements Map.Entry<K,V> {
    final int hash;   //该键值对的哈希值
    final K key;     //键
    V value;        //值
    Node<K,V> next; //指向下一对键值对,实现链式
    Node(int hash, K key, V value, Node<K,V> next) {
        this.hash = hash;
        this.key = key;
        this.value = value;
        this.next = next;
    }
    public final K getKey()        { return key; }
    public final V getValue()      { return value; }
    public final String toString() {… }
    public final int hashCode() {…}
    public final V setValue(V newValue) {… }
    public final boolean equals(Object o) {…}
}

脚本宝典总结

以上是脚本宝典为你收集整理的一、Node全部内容,希望文章能够帮你解决一、Node所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。