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以?xún)?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 舵手 閱讀(2194) 評(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è)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 公主岭市| 屏边| 宾阳县| 兴仁县| 邹城市| 秭归县| 苗栗县| 桃园县| 丰都县| 江口县| 泗阳县| 宽甸| 皋兰县| 崇左市| 钟山县| 利津县| 正镶白旗| 涿鹿县| 万宁市| 长丰县| 西贡区| 万年县| 普定县| 涿鹿县| 睢宁县| 年辖:市辖区| 邵阳县| 彩票| 宁武县| 海盐县| 延津县| 富源县| 陆良县| 弥渡县| 油尖旺区| 富平县| 巫溪县| 临沭县| 温泉县| 达州市| 永修县|