1. 新單詞:
2. 閉包closure
業務操作:重寫execute()方法
工具類:collectionutils.foralldo()關聯操作
1) ifclosure.ifclosure(斷言, 業務, 業務) 二選一操作
2) chainedclosure.chainedclosure(業務, 業務) 鏈式操作
3) whileclosure.whileclosure(斷言, 業務, boolean(false是先進行判斷再進行操作,true是先進行操作再進行判斷)) 迴圈操作
3. 交集、差集、並集
1)交集:collectionutils.intersection()
collectionutils.retainall()
2)差集:collectionutils.subtract()
3)並集:collectionutils.union()
4)不同元素: collectionutils.disjunction()
public static void main(string args)
} /*
output:
交集:[2, 3]
差集:[1]
交集:[1, 2, 3, 4]
不同元素:[1, 4]
*/
4. 佇列的擴充套件:
1)迴圈佇列:circularfifoqueue
2)唯讀佇列: unmodifiablequeue.unmodifiablequeue()
3)斷言佇列:predicatedqueue.predicatedqueue()
public static void main(string args)
// 迴圈佇列
public static void circularqueue()
// 唯讀佇列
public static void readonlyqueue()
// 斷言佇列
public static void predicatequeue()
5. 迭代器的擴充套件:
1)jdk中map的兩種遍歷方法keyset()和entryset()
2)apache中的迭代器mapiterator和mapiterator()方法
但是這個迭代器要apache中使用
iterablemap的hashedmap(簡單來說iterablemap相當於map;hashedmap相當於hashmap)
3)去重迭代器,相當於過濾器:uniquefilteriterator
4)自定義迭代器:filteriterator + predicate 斷言
5)迴圈迭代器:loopingiterator(注意一下引數和訪問)
public static void main(string args)
// jdk中map的兩種遍歷方式
public static void testmap()
system.out.println("***************====");
// 第二種 entryset()
set> entry = map.entryset();
iterator> iter2 = entry.iterator();
while (iter2.hasnext())
} // apache中的迭代器
public static void mapit()
} // 去重迭代器
public static void uniqueit()
}// output:a b
// 自定義迭代器
public static void selfit()
};// 關聯
iteratoriter = new filteriterator(list.iterator(), pre);
while (iter.hasnext())
} // 迴圈迭代器
public static void loopingit()
}// output:refer fdss mom refer fdss
6. 雙向(key和value都是唯一的)map--> bidimap
1) inversebidimap()反轉
2)實現類:dualhashmap 無序
dualtreemap 有序
public static void main(string args)
} /*
output:
途牛-->www.tuniu.com
這裡貌似不是有順序的輸出?
解釋:unicode(新)包——bag 允許重複(可以用來統計單詞的個數)
實現類:
hashbag
無序treebag 有序
public static void main(string args)
// bag的基本用法
public static void testbag() // output:a b }
// 統計單詞個數
public static void wordscount()
// 遍歷
setkeys = bag.uniqueset();// 這裡用set是因為set中儲存的值不能相同
iteratoriter = keys.iterator();
while(iter.hasnext())
}
Object類和Objects類的常用方法
任何子類都充object那裡繼承了equals和tostring 1.object常用方法 tostring和equals,r 2.objects常用方法 equals,此方法的作用同object類的equals 方法的作用一樣,只是此方法可以避免 空指標異常 此方法內部也是基於引數物件的equal...
Qt常用容器類
qt為我們提供了一系列基於模板的容器類,來儲存特定型別的項。這些容器類都是隱式共享的 被用作唯讀容器時,是執行緒安全的。與stl類似,也分為序列式容器和關聯式容器。序列式容器有 qvector qlist qlinklist qstack qqueue。對大部分程式來說qlist都是乙個很好的選擇,...
同步類容器和併發類容器
同步類容器都是執行緒安全的,但是某些場景下可能需要加鎖來保護復合操作。復合類操作如 迭代 反覆訪問元素,遍歷完容器中所有的元素 跳轉 根據指定的順序找到當前元素的下乙個元素 以及條件運算。這些復合操作在多執行緒併發地修改容器時,可能會表現出意外的行為,最經典的便是concurrentmodifica...