JAVA 如何實現大文字去除重複行

xiaohuihui發表於2020-06-15

去重複行,用SQL寫很簡單,就一句SELECT DISTINCT … FROM。但是檔案上沒法直接用SQL了,想用SQL還得找個資料庫先建表,也很麻煩。如果是小檔案,那用java對付一下也不太費勁,大概這樣:

       String file ="d:/urls.txt";

       ArrayList<String> result = new ArrayList<String>();

       BufferedReader br= null;

       try{

           br = new BufferedReader( new FileReader(file));

           String row = br.readLine();

           while(row!= null){

              if(!result.contains(row)){

                  result.add(row);

              }

              row = br.readLine();

           }

       } finally{

           if(br!= null)

              try {

                  br.close();

              } catch (IOException e) {

              }

       }

但如果是大檔案,這程式碼肯定崩了。這時候得用檔案做快取,或者先排序,總之都非常麻煩。

這種情況,如果有集算器就省事多了,用SPL只要一句話:

file("d:/urls.txt").cursor().groupx(#1).fetch()

甚至還可以直接對著檔案寫SQL:

$select distinct #1 from d:/urls.txt

 

集算器和SPL不僅能對文字做去重,還有很多運算都可以做,其中大多數查詢還能直接用SQL,可以參考:

SPL也能很方便地嵌入到JAVA應用,可參考:

具體使用方法可參考:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2698298/,如需轉載,請註明出處,否則將追究法律責任。

相關文章