集合的一些技巧:
需要唯一嗎?
需要:set
需要制定順序:
需要: treeset
不需要:hashset
但是想要乙個和儲存一致的順序(有序):linkedhashset
不需要:list
需要頻繁增刪嗎?
需要:linkedlist
不需要:arraylist
如何記錄每乙個容器的結構和所屬體系呢?
看名字!
list
|--arraylist
|--linkedlist
set|--hashset
|--treeset
字尾名就是該集合所屬的體系。
字首名就是該集合的資料結構。
看到array:就要想到陣列,就要想到查詢快,有角標.
看到link:就要想到鍊錶,就要想到增刪快,就要想要 add get remove+frist last的方法
看到hash:就要想到雜湊表,就要想到唯一性,就要想到元素需要覆蓋hashcode方法和equals方法。
看到tree:就要想到二叉樹,就要想要排序,就要想到兩個介面comparable,comparator 。
而且通常這些常用的集合容器都是不同步的。
集合的一些操作總結
集合的特性 1.去重,2.無序,3.關係測試 集合建立 set 方法,列表list 集合的關係測試 並集 list 1.union list 2 or 交集 list 1.intersection list 2 or 差集 list 1.difference list 2 or list 1 lis...
ASSERT技巧的一些總結
技巧一 嵌入更多的提示資訊 通常我們使用assert pstr 來在指標為空時,提示我們。但是這種方式的提示不夠明顯,我們也很難立刻找到是 出了問題。我們可以在assert中加入一些資訊,幫助我們立刻找到錯誤的地方。如 assert pstr 函式名 錯誤資訊描述 上面加入了一些提示資訊後,我們在指...
集合 迭代器的一些總結
map isempty 如果map未包含鍵 值對映關係,則返回 true get object key 根據鍵獲取值,如果鍵為空 返回null put key,value 在map中建立鍵 值關係,如果map中存在該鍵,則新值替換舊值 values 返回值為collection的包含map值的檢視 ...