GalaxyPilot —— D.S


                  生命不熄,戰(zhàn)斗不止
          數(shù)據(jù)加載中……

          java “亂序”

              不知道這樣的叫法對(duì)不對(duì),所以對(duì)亂序兩字加了個(gè)引號(hào)。代碼目的是把文本文件里以行為單位的數(shù)據(jù)隨機(jī)排序后存到另一個(gè)文件,速度還可以,所貼上來(lái)。測(cè)試30萬(wàn)行處理時(shí)間為550ms以內(nèi)。

          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) 評(píng)論(2)  編輯  收藏

          評(píng)論

          # re: java “亂序”[未登錄](méi)  回復(fù)  更多評(píng)論   

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

          # re: java “亂序”  回復(fù)  更多評(píng)論   

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

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 武平县| 雷波县| 洪洞县| 乡宁县| 金门县| 泽库县| 南岸区| 昭苏县| 化德县| 永定县| 全椒县| 上高县| 湘潭县| 枝江市| 龙游县| 湛江市| 平邑县| 松江区| 赤峰市| 沾益县| 慈利县| 射阳县| 洛扎县| 大余县| 东乡| 遂宁市| 扶沟县| 禄劝| 娄底市| 佛教| 惠州市| 法库县| 禹城市| 图木舒克市| 保山市| 南开区| 如东县| 新巴尔虎右旗| 萨嘎县| 永寿县| 石柱|