Java相關文章索引(12)

環境部署

Eclipse在增強自動補全後有一個相當不友好的地方就是變量名的自動補全,我們習慣性地會按空格跳過,而用自己定義的變量名,但在增強自動補全後,按空格的功能不是跳過而是選中,那怎麼辦呢?
搜索了下大致是通過修改Eclipse源碼實現的:
<轉>Eclipse增強自動補全,取消“=”等號和空格自動輸入
關聯Eclipse源碼,安裝Eclipse SDK插件

基本常識

1.java中jar命令打包一個文件夾下的所有文件

示例1:將兩個class文件存檔到一個名爲 classes.jar 的存檔文件中:
jar cvf classes.jar Foo.class Bar.class
示例2:用一個存在的清單(manifest)文件 ‘mymanifest’ 將 foo/ 目錄下的所有
文件存檔到一個名爲 ‘classes.jar’ 的存檔文件中:
jar cvfm classes.jar mymanifest -C foo/ .

2.eclipse怎樣快速的給代碼段添加try catch

選中要添加try..catch的代碼段,然後點擊鼠標右鍵,選擇Sourround With選項(取代右擊的快捷鍵:Alt+Shift+z),如果需要添加finally,則可以光標放在try那一行,然後通過Ctrl+1來添加。

3.java字符串按長度大小排序

    public static void sortStringArray(String[] arrStr) {
        String temp;
        for (int i = 0; i < arrStr.length; i++) {
            for (int j = arrStr.length - 1; j > i; j--) {
                if (arrStr[i].length() > arrStr[j].length()) {
                    temp = arrStr[i];
                    arrStr[i] = arrStr[j];
                    arrStr[j] = temp;
                }
            }
        }
    }

4.java對List去重並且保持集合中的原有順序

1.去重
可以利用Java中的Set集合
2.保持順序
Set中的LinkedHashSet就是有序的

5.爲什麼Java方法裏面不能再嵌套方法?

6.Java示例 - 判斷兩個數組相等

Arrays.equals(array1,array2)

7.JAVA中 如何產生一個特定範圍的隨機數

nextInt中的數值n,生成[0,n)

生成0-2之間的隨機數,包括2

Random rand = new Random();
int randNum = rand.nextInt(3);

生成5-26之間的隨機數,包括26

int randNum = rand.nextInt(22)+5;

IO

  1. commons-io之LineIterator
  2. Java如何正確的使用try catch finally關閉文件流的總結
  3. 使用FileUtils簡化你的文件操作
  4. [測試]java IO寫入文件效率——幾種方法比較

Debug

  1. Doubled的無窮小與負無窮
    這裏可能會有一個定勢思維的誤區在裏面,就是有時候我們初始化一個值,拿java來說,整型想初始化爲最小整型,那麼Integer.MIN_VALUE,那如果想初始化一個最小的Double型呢?Double.MIN_VALUE?有,確實有,然而並不能如您所願,Java中Double的MIN_VALUE是一個大於0的存在,此時需要用到的是Double.NEGATIVE_INFINITY,而非 Double.MIN_VALUE

  2. 正則表達式$出錯,出現Invalid escape sequence (valid ones are \b \t \n \f \r \” \’ \ )

    在JAVA中反斜槓本身具有轉義的作用,要表示一個正則表達式中的\,必須用\\轉 義

  3. 淺談HTTP中Get與Post的區別

實戰演練

倒排索引的java實現

自己在實現的時候,做了一些小的修改,主要是統計詞頻所用的HashMap——nums的處理邏輯上:
nums.put(string, nums.getOrDefault(string, 0) + 1);

附Python3版的實現代碼

import collections
map,nums= {},collections.defaultdict(int)

def createIndex(filePath):
    with open(filePath) as reader:
        for line in reader:
            sarray=line.strip('\n').split(' ')
            for s in sarray:
                list = []
                if s not in map:
                    list.append(filePath)
                    map[s]=list
                else:
                    list = map[s]
                    if filePath not in map[s]:
                        list.append(filePath)
                nums[s]+=1

filePath={各文檔路徑}
for i in range(1,4):
    createIndex(filePath+str(i)+".txt")

for i in map:
    print("{key}:{value}".format(key=i,value=map[i]))
for j in nums:
    print("{key}:{value}".format(key=j,value=nums[j]))
發佈了84 篇原創文章 · 獲贊 43 · 訪問量 26萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章