泛型作業(yè)

1. Collection 接口和 Collections 類都是做什么用的 ?

? **Collection:集合的抽象數(shù)據(jù)類型**

**Collections:包含有關(guān)集合操作的靜態(tài)方法**

2. Collection 接口有幾個子接口 汉嗽?Map 接口有父接口么 摹恨?

? 3個? ? ? ? ? 沒有

3. ? ? List 、 Set 、 Map 三個接口有什么特點(diǎn) ?

? List:有序集合,可以精準(zhǔn)的控制列表中每個元素的插入位置

? Set:可以容納所有類型的對象团赁,包括null,不允許重復(fù)谨履,實(shí)現(xiàn)類是無序的欢摄,TreeSet除外

? Map:

? 1 每次存儲 key-value對;

? ? 2 key部分不能重復(fù)

? ? 3 常用實(shí)現(xiàn)類HashMap和TreeMap

4. 請簡述哈希表(散列表)

? 散列表(Hash table笋粟,也叫哈希表)剧浸,是根據(jù)關(guān)鍵碼值(Key value)而直接進(jìn)行訪問的數(shù)據(jù)結(jié)構(gòu)。也就是說矗钟,它通過把關(guān)鍵碼值映射到表中一個位置來訪問記錄唆香,以加快查找的速度。這個映射函數(shù)叫做散列函數(shù)吨艇,存放記錄的數(shù)組叫做散列表

5. 以下哪個集合接口支持通過字符串主鍵檢索對象? ? ? ? A

? A.Map

? B.Set

? C.List

? D.Collection


6. 以下哪些語句用于創(chuàng)建一個Map實(shí)例躬它?? ? ? ? D

? A.Map m = new Map();

? B.Map m = new Map(init capacity,increment capacity);

? C.Map m = new Map(new Collection());

? D.以上均不行

7. 以下代碼的執(zhí)行結(jié)果是?

? ##### 執(zhí)行結(jié)果

? abc

? def

? def

? ----------------------------------

? abc

? def

? ```java

? public class Example {


? public static void main(String[] args) {


? String s1 = "abc";

? String s2 = "def";

? String s3 = "def";


? List<String> list = new ArrayList<String>();

? list.add(s1);

? list.add(s2);

? list.add(s3);


? for (String string : list) {

? System.out.println( string );

? }


? System.out.println("-------------------");


? Set<String> set = new HashSet<>();

? set.add(s1);

? set.add(s2);

? set.add(s3);


? for (String string : set) {

? System.out.println( string );

? }

? }

? }

? ```

8. 以下代碼執(zhí)行結(jié)果是东涡?TreeMap和 HashMap 的區(qū)別是什么 冯吓?

? one=1three=3two=2? ? ? ? ? TreeMap有序? ? ? ? HashMap無序

```java

public class Example {

public static void main(String[] args) {

TreeMap<String, String> map = new TreeMap<String, String>();

map.put("one", "1");

map.put("two", "2");

map.put("three", "3");

displayMap(map);

}

static void displayMap(TreeMap map) {

Collection<String> c = map.entrySet();

Iterator<String> i = c.iterator();

while (i.hasNext()) {

Object o = i.next();

System.out.print(o.toString());

}

}

}

```

9. Vector、ArrayList 和 LinkedList 有什么區(qū)別 疮跑?

? Vector组贺、ArrayList:查詢速度快,增刪修改速度比較慢

? LinkedList:查詢速度比較慢祖娘,增刪修改速度快

10. Arrays.ArrayList 和 java.util.ArrayList 有什么區(qū)別 失尖?

? ArrayList是List接口的實(shí)現(xiàn)類

? Arrays.ArrayList**是沒有add()方法的,并且修改元素也是通過修改之前傳遞進(jìn)去的固定長度數(shù)組來實(shí)現(xiàn)渐苏,這就是為什么修改它的元素會直接影響傳進(jìn)來的數(shù)組掀潮。**

11. Hashtable和HashMap的區(qū)別

? ? 1? ? Hashtable是基于陳舊的Dictionary類的,HashMap是Java 1.2引進(jìn)的Map接口的一個實(shí)現(xiàn)

? ? 2? ? Hashtable的方法是同步的琼富,而HashMap的方法不是

? ? 3? ? 只有HashMap可以讓你將空值作為一個表的條目的key或value

12. 分別使用 HashMap 和 List 以及數(shù)組統(tǒng)計數(shù)組中相同的值出現(xiàn)的次數(shù)

? ? ##### HashMap方法:

? ? ```java

? ? public static void main(String[] args) {

? ? ? ? ? ? String[] array = {"abc" , "ABC" , "123" , "def" , "^_^" , "def" , "abc"};

? ? ? ? ? ? HashMap<String, Integer> hm = new HashMap<>();


? ? ? ? ? ? for ( String key : array ) {

? ? ? ? ? ? ? ? Integer value = hm.get(key);

? ? ? ? ? ? ? ? if ( value == null ) {

? ? ? ? ? ? ? ? ? ? hm.put(key,1);

? ? ? ? ? ? ? ? }else {

? ? ? ? ? ? ? ? ? ? value ++;

? ? ? ? ? ? ? ? ? ? hm.put(key,value);

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }


? ? ? ? ? ? Set<Map.Entry<String, Integer>> es = hm.entrySet();

? ? ? ? ? ? for ( Map.Entry<String,Integer> h : es ) {

? ? ? ? ? ? ? ? Integer value = h.getValue();

? ? ? ? ? ? ? ? String key = h.getKey();

? ? ? ? ? ? ? ? System.out.println(key + "出現(xiàn)的次數(shù)為:" + value);

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? /*

? ? ? ? ? ? 打印結(jié)果:

? ? ABC出現(xiàn)的次數(shù)為:1

? ? 123出現(xiàn)的次數(shù)為:1

? ? abc出現(xiàn)的次數(shù)為:2

? ? def出現(xiàn)的次數(shù)為:2

? ? ^_^出現(xiàn)的次數(shù)為:1

? ? ? ? */

? ? ```

? ? List方法:

? ? ```java

? ? public static void main(String[] args) {

? ? ? ? ? ? String[] array = {"abc" , "ABC" , "123" , "def" , "^_^" , "def" , "abc"};

? ? ? ? ? ? ArrayList<String> list = new ArrayList<>();

? ? ? ? ? ? for ( String a : array ) {

? ? ? ? ? ? ? ? list.add(a);

? ? ? ? ? ? }


? ? ? ? ? ? System.out.println(list);

? ? ? ? ? ? for (int i = 0; i < list.size(); i++) {

? ? ? ? ? ? ? ? for (int j = i+1; j < list.size(); j++) {

? ? ? ? ? ? ? ? ? ? if ( list.get(i) == list.get(j) ) {

? ? ? ? ? ? ? ? ? ? ? ? int value = 0;

? ? ? ? ? ? ? ? ? ? ? ? value ++;

? ? ? ? ? ? ? ? ? ? ? ? list.set(i,list.get(i) + "相同值出現(xiàn)的次數(shù)為:" + value +"次");

? ? ? ? ? ? ? ? ? ? ? ? list.remove(list.get(j));

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }


? ? ? ? ? ? for (String l : list) {

? ? ? ? ? ? ? ? System.out.println(l);

? ? ? ? ? ? }

? ? ? ? }

? ? /*

? ? ? ? ? ? 打印結(jié)果:

? ? [abc, ABC, 123, def, ^_^, def, abc]

? ? abc相同值出現(xiàn)的次數(shù)為:1次

? ? ABC

? ? 123

? ? def相同值出現(xiàn)的次數(shù)為:1次

? ? ^_^

? ? ? ? */

? ? ```


? ? ```java

? ? String[] array = {"abc" , "ABC" , "123" , "def" , "^_^" , "def" , "abc"};

? ? ```

13. 請寫出 Iterator 迭代器的優(yōu)點(diǎn)

? ? 迭代器通常被稱為輕量級對象:創(chuàng)建它的代價小

14. 請寫出循環(huán) List 仪吧、Set、Map 的代碼

? ? for( 集合元素類型? i : list ) {

? ? System.out.println(i)

? ? }

? ? for( 集合元素類型? i : Set ) {

? ? System.out.println(i)

? ? }

? ? ```java

? ? for (Map.Entry<String,String> m : map01.entrySet()) {

? ? ? ? System.out.println(m);

? ? }

? ? ```

15. 以下哪個集合接口支持元素排序? ? A

? ? A.Collections

? ? B.Set

? ? C.List

? ? D.Map

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鞠眉,一起剝皮案震驚了整個濱河市薯鼠,隨后出現(xiàn)的幾起案子择诈,更是在濱河造成了極大的恐慌,老刑警劉巖出皇,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件羞芍,死亡現(xiàn)場離奇詭異,居然都是意外死亡恶迈,警方通過查閱死者的電腦和手機(jī)涩金,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進(jìn)店門谱醇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來暇仲,“玉大人,你說我怎么就攤上這事副渴∧胃剑” “怎么了?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵煮剧,是天一觀的道長斥滤。 經(jīng)常有香客問我,道長勉盅,這世上最難降的妖魔是什么佑颇? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮草娜,結(jié)果婚禮上挑胸,老公的妹妹穿的比我還像新娘。我一直安慰自己宰闰,他們只是感情好茬贵,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著移袍,像睡著了一般解藻。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上葡盗,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天螟左,我揣著相機(jī)與錄音,去河邊找鬼觅够。 笑死路狮,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蔚约。 我是一名探鬼主播奄妨,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼苹祟!你這毒婦竟也來了砸抛?” 一聲冷哼從身側(cè)響起评雌,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎直焙,沒想到半個月后景东,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡奔誓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年斤吐,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片厨喂。...
    茶點(diǎn)故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡和措,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蜕煌,到底是詐尸還是另有隱情派阱,我是刑警寧澤,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布斜纪,位于F島的核電站贫母,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏盒刚。R本人自食惡果不足惜腺劣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望因块。 院中可真熱鬧橘原,春花似錦、人聲如沸贮聂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽吓懈。三九已至歼冰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間耻警,已是汗流浹背隔嫡。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留甘穿,地道東北人腮恩。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像温兼,于是被迫代替她去往敵國和親秸滴。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內(nèi)容

  • Collection 接口和 Collections 類都是做什么用的 募判?Collection:集合的抽象數(shù)據(jù)類型...
    常皓欽閱讀 206評論 0 0
  • Collection 接口和 Collections 類都是做什么用的 荡含?Collection:集合的抽象數(shù)據(jù)類型...
    開心_1acc閱讀 114評論 0 0
  • Collection 接口和 Collections 類都是做什么用的 咒唆?Collection:集合的抽象數(shù)據(jù)類型...
    瓊瓊i閱讀 124評論 0 0
  • Collection 接口和 Collections 類都是做什么用的 ?Collection接口和Collect...
    朱夢軒閱讀 303評論 0 0
  • . Collection 接口和 Collections 類都是做什么用的 释液? Collection:集合的抽象數(shù)...
    承超越閱讀 169評論 0 0