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 舵手 閱讀(2198) 評論(2)  編輯  收藏

          評論

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

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

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

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

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


          網站導航:
           
          主站蜘蛛池模板: 蕲春县| 洪江市| 平阴县| 青川县| 台湾省| 津市市| 大庆市| 金湖县| 四会市| 奉节县| 开鲁县| 迁安市| 垣曲县| 昌吉市| 包头市| 墨江| 子洲县| 宝兴县| 尼木县| 韶山市| 阿巴嘎旗| 绍兴县| 额济纳旗| 柞水县| 蓬溪县| 启东市| 织金县| 双城市| 恩平市| 井冈山市| 乳源| 秭归县| 阿巴嘎旗| 永福县| 武定县| 托克逊县| 天长市| 沙洋县| 益阳市| 康定县| 资源县|