隨筆-60  評論-117  文章-0  trackbacks-0
          例一:
          程序:

          package map1;

          import java.util.HashMap;
          import java.util.Iterator;
          import java.util.Map;
          import java.util.Set;

          public class T1 {
           public static void main(String args[]) {
            HashMap hashmap = new HashMap();
            hashmap.put("dog", "犬");
            hashmap.put("rabbit", "兎");
            hashmap.put("cat", "貓");
            hashmap.put("bug", "蟲");
            hashmap.put("chicken", "鶏");
            hashmap.put("cattle", "牛");
            hashmap.put("pig", "豚");
            Set set = hashmap.entrySet();
            Iterator iterator = set.iterator();
            while (iterator.hasNext()) {
             Map.Entry mapentry = (Map.Entry) iterator.next();
             System.out.println(mapentry.getKey() + "==" + mapentry.getValue());
            }
           }

          }

          運行結果:
          chicken/鶏
          rabbit/兎
          cat/貓
          bug/蟲
          cattle/牛
          dog/犬
          pig/豚
          分析:
          HashMap實際上是一種數據結構,數據按照操作系統設定的順序進行存放。put(K key, V value) 方法就是存入數據的方法。key相當于一個名字,value就是其對應的內容。當調用get(Object key) 方法時,將得到其value。
          hashmap.entrySet()(Set化)可以說是將其對象化,它就不再是一種結構,而成了數據。
          set.iterator()(迭代化)就是對數據進行管理,相當于是給它添加了指針,用戶就可以對數據進行查找和刪除。
          例二:
          程序:

          package map1;


          public class T2 {
           public static void main(String args[]) {
            String[] colors = {
              "白","黒","黃","水色","赤","灰色","紫","オリーブ","栗色"
            };
            System.out.print("今日、君と似合う服の色は"+colors[(int)(colors.length*Math.random())]+"です。");
           }
          }
          運行結果(這只是隨機產生的結果中的一個):
          今日、君と似合う服の色はオリーブです。

          分析:
          Math.random())方法產生的將是一個0~1之間的double型的數,將它與colors.length(字符串長度)相乘可以確保產生的是在數組下標范圍內的數。
          例三:
          程序:
          public class T3 {
           public static void main(String args[]) {
            String[] strings = {"yanlanzhen", "zhaoweidong", "xiexiaojing",
              "liuxuebing", "zhaoyang", "liupengfei"};
            String temporary = null;
            for (int j =strings.length-1; j>0; j--) {
             for (int i = 0; i < j; i++) {
              if (strings[i].compareTo(strings[i + 1]) <= 0) {
               temporary = strings[i];
               strings[i] = strings[i + 1];
               strings[i + 1] = temporary;
              }
             }
            }
            for (int i = 0; i < strings.length; i++) {
             System.out.print("\""+strings[i]+"\"" + " ");
            }
           }
          }
          運行結果:
          "zhaoyang" "zhaoweidong" "yanlanzhen" "xiexiaojing" "liuxuebing" "liupengfei"
          分析:
          這是對字符串進行直接插入排序的程序,可以在這個程序中將前兩個用到的方法綜合運用,不妨試一下?

          我是這樣想的:
          綜合的例子:

          package map1;

          import java.util.ArrayList;
          import java.util.HashMap;
          import java.util.Iterator;
          import java.util.Map;
          import java.util.Set;

          public class T123 {
           public static void main(String args[]) {
            ArrayList<String> strings = new ArrayList<String>();
            strings.add("yanlanzhen");
            strings.add("zhaoweidong");
            strings.add("xiexiaojing");
            strings.add("liuxuebing");
            strings.add("zhaoyang");
            strings.add("liupengfei");
            String temporaryS = null;
            int temporaryI = 0;
            String[] rStrings = new String[6];
            HashMap hashmap = new HashMap();
            for (int i = 0; i < strings.size(); i++) {
             hashmap.put(strings.get(i), i+"");
            }
            Set set = hashmap.entrySet();
            Iterator iterator = set.iterator();
            System.out.print("HashMapにある順番は   ");
            while (iterator.hasNext()) {
             Map.Entry mapentry = (Map.Entry) iterator.next();
             System.out.print(mapentry.getValue() + " ");
            }

            for (int j = strings.size(); j > 0; j--) {
             temporaryI = (int) (j * Math.random());
             rStrings[j - 1] = strings.get(temporaryI);
             strings.remove(temporaryI);
            }
            System.out.print("\nランダム化後の順番は    ");
            for (int i = 0; i < rStrings.length; i++) {
             System.out.print(hashmap.get(rStrings[i]) + " ");
            }
            
            for (int j = rStrings.length - 1; j > 0; j--) {
             for (int i = 0; i < j; i++) {
              if (rStrings[i].compareTo(rStrings[i + 1]) <= 0) {
               temporaryS = rStrings[i];
               rStrings[i] = rStrings[i + 1];
               rStrings[i + 1] = temporaryS;
              }
             }
            }
            
            System.out.print("\nソートされた順番は        ");
            for (int i = 0; i < rStrings.length; i++) {
             System.out.print(hashmap.get(rStrings[i])+" ");
            }
           }
          }
          運行結果:
          HashMapにある順番は   0 3 1 2 5 4
          ランダム化後の順番は    5 2 3 1 4 0
          ソートされた順番は        4 1 0 2 3 5

          posted on 2007-10-17 16:24 靜兒 閱讀(1620) 評論(2)  編輯  收藏 所屬分類: 技術

          評論:
          # 13871017378[未登錄] 2007-10-21 17:59 | j2ee
          Sql Server 中一個非常強大的日期格式化函數
          Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
          Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
          Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
          Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
          Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06
          Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06
          Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06
          Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
          Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46
          Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
          Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06
          Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16
          Select CONVERT(varchar(100), GETDATE(), 12): 060516
          Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
          Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
          Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
          Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157
          Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM
          Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
          Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47
          Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250
          Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM
          Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
          Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16
          Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006
          Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006
          Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006
          Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006
          Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006
          Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49
          Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM
          Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006
          Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
          Select CONVERT(varchar(100), GETDATE(), 112): 20060516
          Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513
          Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
          Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
          Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700
          Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827
          Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM
          Select CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM


          常用:
          Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46
          Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47
          Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49
          Select CONVERT(varchar(100), GETDATE(), 12): 060516
          Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16  回復  更多評論
            
          # re: java程序的簡單實例分析 2007-10-21 18:46 | 靜兒
          哎?你為什么要叫j2ee呢,我們都用j2se了。呵呵,玩笑,莫怪。@j2ee
            回復  更多評論
            
          主站蜘蛛池模板: 翁牛特旗| 淅川县| 盐城市| 闻喜县| 德格县| 来安县| 浠水县| 万载县| 正宁县| 荔波县| 开江县| 桃源县| 霍林郭勒市| 新巴尔虎右旗| 平塘县| 姜堰市| 德惠市| 子长县| 大丰市| 阿拉尔市| 东源县| 台安县| 武定县| 交口县| 陆丰市| 西藏| 栖霞市| 正安县| 北宁市| 宝丰县| 崇州市| 九龙县| 清徐县| 天气| 积石山| 静海县| 宜兰县| 酒泉市| 永昌县| 仁寿县| 静安区|