環境部署
Eclipse在增強自動補全後有一個相當不友好的地方就是變量名的自動補全,我們習慣性地會按空格跳過,而用自己定義的變量名,但在增強自動補全後,按空格的功能不是跳過而是選中,那怎麼辦呢?
搜索了下大致是通過修改Eclipse源碼實現的:
<轉>Eclipse增強自動補全,取消“=”等號和空格自動輸入
關聯Eclipse源碼,安裝Eclipse SDK插件
基本常識
示例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/ .
選中要添加
try..catch
的代碼段,然後點擊鼠標右鍵,選擇Sourround With選項(取代右擊的快捷鍵:Alt+Shift+z
),如果需要添加finally,則可以光標放在try那一行,然後通過Ctrl+1
來添加。
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;
}
}
}
}
1.去重
可以利用Java中的Set集合
2.保持順序
Set中的LinkedHashSet就是有序的
Arrays.equals(array1,array2)
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
- commons-io之LineIterator
- Java如何正確的使用try catch finally關閉文件流的總結
- 使用FileUtils簡化你的文件操作
- [測試]java IO寫入文件效率——幾種方法比較
Debug
Doubled的無窮小與負無窮
這裏可能會有一個定勢思維的誤區在裏面,就是有時候我們初始化一個值,拿java來說,整型想初始化爲最小整型,那麼Integer.MIN_VALUE
,那如果想初始化一個最小的Double型呢?Double.MIN_VALUE?有,確實有,然而並不能如您所願,Java中Double的MIN_VALUE是一個大於0的存在,此時需要用到的是Double.NEGATIVE_INFINITY
,而非Double.MIN_VALUE
正則表達式$出錯,出現Invalid escape sequence (valid ones are \b \t \n \f \r \” \’ \ )
在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]))