???????????????????????

    void transfer(Entry[] newTable)
    {
        Entry[] src = table;
        int newCapacity = newTable.length;
        //??????δ??????????
        //  ??OldTable???????????????????NewTable??
        for (int j = 0; j < src.length; j++) {
            Entry e = src[j];
            if (e != null) {
                src[j] = null;
                do {
                    Entry next = e.next;
                    int i = indexFor(e.hash?? newCapacity);
                    e.next = newTable[i];
                    newTable[i] = e;
                    e = next;
                } while (e != null);
            }
        }
    }

??????????????????????????????????????????

??????????ReHash?????

????????????????????

?????? ????????????hash?????????key mod ??±???С????????????????

?????? ???????old hash ??????е?Hash???size=2?? ????key = 3?? 7?? 5????mod 2????????table[1]???????

?????? ??????????????????Hash?? resize??4????????е? ????rehash?????

?????????μ?Rehash

????1???????????????????????ú?????????????????

?????????????????????? transfer?????е????????

    do {
        Entry next = e.next; // <--??????????е??????????????
        int i = indexFor(e.hash?? newCapacity);
        e.next = newTable[i];
        newTable[i] = e;
        e = next;
    } while (e != null);

???????????????????????????????????????????????

??????????Thread1?? e ?????key(3)????next?????key(7)??????????rehash?????????????????????????????????????????????