首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Map 查表法實作:星期中英文對照轉換

     編輯:Java 綜合教學

情境說明

在業務開發中,常需將「星期幾」與英文縮寫互轉。使用 Map 做查表比 if-else 或 switch 更簡潔、易維護。

程式碼示範

package cn.itcast.p1.map.test;

import java.util.HashMap;
import java.util.Map;

public class MapTest2 {
    public static void main(String[] args) {
        String week = getWeek(1);           // 取得中文「星期一」
        System.out.println(week);
        System.out.println(getWeekByMap(week)); // 轉為英文 "Mon"
    }

    // 使用 Map 查表轉換
    public static String getWeekByMap(String week) {
        Map<String, String> map = new HashMap<>();
        map.put("星期一", "Mon");
        map.put("星期二", "Tue");
        map.put("星期三", "Wed");
        map.put("星期四", "Thu");
        map.put("星期五", "Fri");
        map.put("星期六", "Sat");
        map.put("星期日", "Sun");
        return map.get(week);
    }

    // 傳統陣列/條件判斷方式
    public static String getWeek(int i) {
        if (i < 1 || i > 7) throw new RuntimeException("沒有對應的星期");
        String[] weeks = {"", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"};
        return weeks[i];
    }
}

優缺點比較

方式優點缺點
Map 查表擴充性強、程式碼簡潔、O(1) 查找需額外記憶體存儲映射關係
陣列/判斷無額外物件、效能極高擴充麻煩、硬編碼邏輯

適用場景

  • 狀態碼↔️描述文字
  • 錯誤碼↔️錯誤訊息
  • 枚舉值↔️前端顯示名稱

建議:固定、少量映射用 Map;極簡場景可用 enum 或陣列。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved