<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            java語言

            Java面試實例用最有效率的方法計算2乘以8

            時間:2025-04-22 15:04:35 java語言 我要投稿
            • 相關推薦

            Java面試實例用最有效率的方法計算2乘以8

              引導語:在面試Java程序員時,筆試是很關鍵的一關,以下是百分網小編分享給大家的Java面試實例用最有效率的方法計算2乘以8。歡迎閱讀參考!

            Java面試實例用最有效率的方法計算2乘以8

              用最有效率的方法計算2乘以8。

              答: 2 << 3(左移3位相當于乘以2的3次方,右移3位相當于除以2的3次方)。

              補充:我們為編寫的類重寫hashCode方法時,可能會看到如下所示的代碼,其實我們不太理解為什么要使用這樣的乘法運算來產生哈希碼(散列碼),而且為什么這個數是個素數,為什么通常選擇31這個數?前兩個問題的答案你可以自己百度一下,選擇31是因為可以用移位和減法運算來代替乘法,從而得到更好的性能。說到這里你可能已經想到了:31 * num 等價于(num << 5) – num,左移5位相當于乘以2的5次方再減去自身就相當于乘以31,現在的VM都能自動完成這個優化。

            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            12
            13
            14
            15
            16
            17
            18
            19
            20
            21
            22
            23
            24
            25
            26
            27
            28
            29
            30
            31
            32
            33
            34
            35
            36
            37
            38
            39
            40
            41
            public class PhoneNumber {
                private int areaCode;
                private String prefix;
                private String lineNumber;
             
                @Override
                public int hashCode() {
                    final int prime = 31;
                    int result = 1;
                    result = prime * result + areaCode;
                    result = prime * result
                            + ((lineNumber == null) ? 0 : lineNumber.hashCode());
                    result = prime * result + ((prefix == null) ? 0 : prefix.hashCode());
                    return result;
                }
             
                @Override
                public boolean equals(Object obj) {
                    if (this == obj)
                        return true;
                    if (obj == null)
                        return false;
                    if (getClass() != obj.getClass())
                        return false;
                    PhoneNumber other = (PhoneNumber) obj;
                    if (areaCode != other.areaCode)
                        return false;
                    if (lineNumber == null) {
                        if (other.lineNumber != null)
                            return false;
                    } else if (!lineNumber.equals(other.lineNumber))
                        return false;
                    if (prefix == null) {
                        if (other.prefix != null)
                            return false;
                    } else if (!prefix.equals(other.prefix))
                        return false;
                    return true;
                }
             
            }

            【Java面試實例用最有效率的方法計算2乘以8】相關文章:

            java動態方法調度實例04-26

            java計算器綜合實例學習教程01-21

            用java重載的方法01-07

            Java中的== 和equals()方法詳解與實例教程08-03

            Java實例化的四種方法介紹03-12

            用JAVA編寫一個隊列類實例05-25

            用AxureRP做實例原型設計的方法04-21

            Java鍵盤輸入實例07-06

            Java for循環語句使用實例01-13

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院