Java.util.EnumMap 示例

wn25 9年前發布 | 1K 次閱讀 Java

JavaEnumMapExample.java

package com.jcg.example;

import java.util.EnumMap; import java.util.Map;

/**

  • @author anirudh / public class JavaEnumMapExample {

    public enum MealType{

     BREAKFAST,LUNCH,SNACK,DINNER
    

    }

    public static void main(String[] args) {

     Map myMealMap = new EnumMap(MealType.class);
    
             //populate the map
     myMealMap.put(MealType.BREAKFAST,"Enjoy Milk and Eggs for breakfast!");
     myMealMap.put(MealType.LUNCH,"Enjoy Chicken, Rice and bread for Lunch!");
     myMealMap.put(MealType.SNACK,"How about an apple for the evening snack!");
     myMealMap.put(MealType.DINNER,"Keep the dinner light, lets have some salad!");
    
     System.out.println("Welcome to meal planner, we have suggestions for following meals : ");
    
     //print all the keys of enum map in sorted order
     System.out.println(myMealMap.keySet());
    
     //We can get the value from enumType
     System.out.println(" Q: What should I have for lunch? ");
     System.out.println(" A: "+myMealMap.get(MealType.LUNCH));
    
     System.out.println(" Q: What should I have for snack? ");
     System.out.println(" A: "+myMealMap.get(MealType.SNACK));
    
     System.out.println(" Q: What should I have for dinner? ");
     System.out.println(" A: "+myMealMap.get(MealType.DINNER));
    
     //Iterate over enumMap
     for (MealType mealType : myMealMap.keySet()) {
         System.out.println(myMealMap.get(mealType));
     }
     System.out.println("*** Checking for concurrent modification exception! ***");
     //Does not throw Concurrent modification Exception in enumMap
     for (MealType mealType : myMealMap.keySet()) {
         if(MealType.SNACK.equals(mealType)){
             myMealMap.remove(MealType.SNACK);
         }
     }
    
     //map changed without throwing Concurrent modification Exception
     System.out.println(myMealMap);      
}

}

</pre>

Output:

Welcome to meal planner, we have suggestions for following meals : [BREAKFAST, LUNCH, SNACK, DINNER] Q: What should I have for lunch? A: Enjoy Chicken, Rice and bread for Lunch! Q: What should I have for snack? A: How about an apple for the evening snack! Q: What should I have for dinner? A: Keep the dinner light, lets have some salad! Enjoy Milk and Eggs for breakfast! Enjoy Chicken, Rice and bread for Lunch! How about an apple for the evening snack! Keep the dinner light, lets have some salad! Checking for concurrent modification exception! {BREAKFAST=Enjoy Milk and Eggs for breakfast!, LUNCH=Enjoy Chicken, Rice and bread for Lunch!, DINNER=Keep the dinner light, lets have some salad!}

</pre>

 本文由用戶 wn25 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!