GalaxyPilot —— D.S


                  生命不熄,戰斗不止
          數據加載中……

          java “亂序”

              不知道這樣的叫法對不對,所以對亂序兩字加了個引號。代碼目的是把文本文件里以行為單位的數據隨機排序后存到另一個文件,速度還可以,所貼上來。測試30萬行處理時間為550ms以內。

          import java.io.*;
          import java.util.Calendar;
          public class SortTxt {
              public static void main(String[] args){
                  Calendar frontDate =Calendar.getInstance();
                  try{
                      FileInputStream fis = new FileInputStream("c:/a.txt");
                      BufferedWriter wr = new BufferedWriter(new FileWriter("c:/b.txt"));
                      byte[] buf = new byte[fis.available()];
                      fis.read(buf,0,fis.available());
                      String str = new String(buf);
                      fis.close();
                      String[] array = str.split("\r\n");
                      StringBuffer sb = new StringBuffer();
                      sb = randomSortString(array);
                      wr.write(sb.toString());
                      wr.flush();
                      wr.close();
                  } catch (Exception e) {
                      e.printStackTrace();
                  }
                  Calendar rearDate = Calendar.getInstance();
                  System.out.println("run time: "+(rearDate.getTimeInMillis() - frontDate.getTimeInMillis())+" ms");
              }
              public static StringBuffer randomSortString(String[] strs) { 
                  int size = strs.length;
                  StringBuffer sb = new StringBuffer();
                  for(int i=0;i<strs.length;i++){
                      int rd = (int)(Math.random()*size);
                      sb.append(strs[rd]+"\r\n");
                      strs[rd] = strs[size-1];
                      size--;
                  }
                  return sb;
              }
          }


          posted on 2010-04-23 10:32 舵手 閱讀(2193) 評論(2)  編輯  收藏

          評論

          # re: java “亂序”[未登錄]  回復  更多評論   

          Math.random()不會有重復么?
          2010-04-23 17:01 | feenn

          # re: java “亂序”  回復  更多評論   

          Math.random() 肯定會有重復
          2010-04-23 22:27 | 舵手

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 清新县| 江川县| 孟村| 宣城市| 临城县| 鄱阳县| 夏津县| 天长市| 阿拉尔市| 元朗区| 乐都县| 蒲城县| 郑州市| 大丰市| 西藏| 苗栗市| 婺源县| 海伦市| 武平县| 库车县| 乐至县| 芜湖市| 迭部县| 尚志市| 合作市| 木兰县| 滕州市| 关岭| 汉沽区| 五河县| 金乡县| 大英县| 田阳县| 福海县| 孟连| 聂拉木县| 万源市| 遂昌县| 望奎县| 元朗区| 昌黎县|