MapUtil.java
import java.util.*;
public class MapUtil {
public static void compareMapOrder() {
// --- HashMapを使ã£ãŸå ´åˆ ---
System.out.println("=== HashMap ã®å‡ºåŠ› ===");
// é †åºãŒä¿è¨¼ã•れãªã„Map
Map<String, String> hashMap = new HashMap<>();
hashMap.put("2023-05-03", "Curry");
hashMap.put("2023-05-01", "Sushi");
hashMap.put("2023-05-02", "Pasta");
for (String date : hashMap.keySet()) {
String menu = hashMap.get(date);
System.out.println(date + " → " + menu);
}
// --- TreeMapを使ã£ãŸå ´åˆ ---
System.out.println("=== TreeMap ã®å‡ºåŠ› ===");
// TreeMapã«HashMapã®å†…容を渡ã—ã¦å¤‰æ›
Map<String, String> treeMap = new TreeMap<>(hashMap);
for (String date : treeMap.keySet()) {
String menu = treeMap.get(date);
System.out.println(date + " → " + menu);
}
}
}解説:Mapã«é †åºã‚’求ã‚ã‚‹ã¨ãã®æ³¨æ„点
Javaã®Mapã«ã¯ã„ãã¤ã‹ã®å®Ÿè£…ãŒã‚りã¾ã™ã€‚
ãれãžã‚Œé †åºã®æ‰±ã„ãŒç•°ãªã‚‹ãŸã‚ã€å‡ºåŠ›ã®é †ç•ªã«æ„味ãŒã‚ã‚‹å ´åˆã¯æ³¨æ„ãŒå¿…è¦ã§ã™ã€‚
HashMapï¼šé †åºãªã—ï¼ˆéžæ±ºå®šçš„)
Map<String, String> map = new HashMap<>();- è¦ç´ ã®ä¸¦ã³é †ã¯ä¿è¨¼ã•れãªã„
- ç™»éŒ²é †ã«ã‚‚ã€ã‚ーã®å¤§å°ã«ã‚‚関係ãªã„
- å‡ºåŠ›çµæžœã¯å®Ÿè¡Œã®ãŸã³ã«å¤‰ã‚ã‚‹å¯èƒ½æ€§ã‚り(内部ã®ãƒãƒƒã‚·ãƒ¥ãƒ†ãƒ¼ãƒ–ル次第)
TreeMap:ã‚ーã®è‡ªç„¶é †ï¼ˆæ˜‡é †ï¼‰
Map<String, String> map = new TreeMap<>(hashMap);- ã‚ーã®é †åºã«å¾“ã£ã¦è‡ªå‹•ã§ä¸¦ã³æ›¿ãˆã¦ä¿æŒ
- æ–‡å—列ãªã‚‰è¾žæ›¸é †ã€æ•°å€¤ãªã‚‰æ˜‡é †ã«ãªã‚‹
new TreeMap<>(hashMap)ã®ã‚ˆã†ã«å¤‰æ›ã‚‚å¯èƒ½
å®Ÿè¡Œçµæžœã®ä¾‹ï¼ˆé †ä¸åŒãƒ»ãŸã ã—TreeMapã¯æ˜‡é †ã§å›ºå®šï¼‰
=== HashMap ã®å‡ºåŠ› ===
2023-05-03 → Curry
2023-05-01 → Sushi
2023-05-02 → Pasta
=== TreeMap ã®å‡ºåŠ› ===
2023-05-01 → Sushi
2023-05-02 → Pasta
2023-05-03 → Curryã¾ã¨ã‚:ã“ã®ã‚¹ãƒ†ãƒƒãƒ—ã§å¦ã¶ã¹ãã“ã¨
HashMapã¯é †åºã‚’æŒãŸãªã„TreeMapã¯ã‚ãƒ¼ã®æ˜‡é †ã§ä¿æŒã•れる- é †åºãŒé‡è¦ãªå ´åˆã¯Mapã®ç¨®é¡žã‚’é¸ã¶å¿…è¦ãŒã‚ã‚‹
出力ã®é †åºã§ãƒã‚¸ãƒƒã‚¯ãŒå¤‰ã‚ã‚‹å ´é¢ã§ã¯ã€Mapã®é¸å®šãŒãƒã‚°ã‚’防ãéµã«ãªã‚Šã¾ã™ã€‚
102 ステップアップå•題 「Map修羅é“ã€
Just Keep Typing, Baby!ã§ã¯ã€ã“ã®ã€ŒMap修羅é“ã€ã§ã¤ã¾ã¥ã„ãŸäººå‘ã‘ã®è§£èª¬ã‚’ã—ã¦ã„ã¾ã™ã€‚ã“ã¡ã‚‰ã‚‚ãœã²ï¼

// tesh:
// ã“れã€ã‚ã‹ã£ã¦ãªã„ã¨æ¬¡ã§çˆ†æ»ã™ã‚‹ã€‚ä»Šã€æ‹¾ã£ã¨ã‘。


コメント