簡體   English   中英

記憶會影響表現還是很多條件會影響?

[英]Does memory effect preformance or lot of if conditions effect?

誰能在這兩個代碼段之間建議最佳的性能代碼?

代碼1

       Map token_map = new HashMap();
        for (int i = 1; i < req_tokens.length; ++i) {
            String[] spl_token = null;
            spl_token = req_tokens[i].trim().split("=");
            token_map.put(spl_token[0], spl_token[1]);
        }

        cs_chnl_id = (String) token_map.get("ChannelId");
        obj_id = (String) token_map.get("ObjectId");
        channel_name = (String) token_map.get("ChannelName");
        username = (String) token_map.get("Username");
        pwd = (String) token_map.get("Password");
        hotel_key = (String) token_map.get("Channel_hotel_key");

        resId = (String) token_map.get("Res_Id");
        String booking_date = (String) token_map.get("Booking_Date");
        days_past = (String) token_map.get("Days_past");  

代碼2

            for (int i = 1; i < req_tokens.length; ++i) {
                String[] spl_token = null;
                String key = null;
                spl_token = req_tokens[i].trim().split("=");
                key = spl_token[0].trim();
                // initilizing cron values for instance varibles
                if (key.equalsIgnoreCase("ChannelId")) {
                    cs_chnl_id = spl_token[1].trim();
                } else if (key.equalsIgnoreCase("ObjectId")) {
                    objectId = spl_token[1].trim();
                } else if (key.equalsIgnoreCase("ChannelName")) {
                    channel_name = spl_token[1].trim();
                } else if (key.equalsIgnoreCase("Username")) {
                    username = spl_token[1].trim();
                } else if (key.equalsIgnoreCase("Password")) {
                    pwd = spl_token[1].trim();
                } else if (key.equalsIgnoreCase("Channel_hotel_key")) {
                    hotel_key = spl_token[1].trim();
                } else if (key.equalsIgnoreCase("Res_Id")) {
                    resId = spl_token[1].trim();
                } else if (key.equalsIgnoreCase("Booking_Date")) {
                    booking_date = spl_token[1].trim();
                } else if (key.equalsIgnoreCase("Days_past")) {
                    days_past = spl_token[1].trim();
                }

            }

HashMap ,插入和查找操作時間復雜度O(1),他們將有幾乎相同的性能,但第一個代碼是更具可讀性,不要浪費你對性能的時候,去的第一個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM