集合框架之海量資料(10萬)練習題總結

2021-09-02 01:37:08 字數 2421 閱讀 9053

/**

* 利用arraylist和linkedlist對10萬個資料進行插入和查詢,比較效率

*/arraylistlist = new arraylist<>();

long start = system.currenttimemillis();

random random = new random();

for(int i = 0;i < 100000;i++)

long end = system.currenttimemillis();

long time = end - start;

system.out.println("arraylist"+"插入資料時間為:"+time+"ms");

long start1 = system.currenttimemillis();

for(int j = 0;j < 100000;j++)

long end1 = system.currenttimemillis();

long time1 = end1 - start1;

system.out.println("arraylist"+"查詢資料時間為:"+time1+"ms");

linkedlistlist1 = new linkedlist<>();

long start2 = system.currenttimemillis();

random random1 = new random();

for(int i = 0;i < 100000;i++)

long end2 = system.currenttimemillis();

long time2 = end2 - start2;

system.out.println("linkedlist插入資料時間為:"+time2+"ms");

long start3 = system.currenttimemillis();

for(int j = 0;j < 100000;j++)

long end3 = system.currenttimemillis();

long time3 = end3 - start3;

system.out.println("linkedlist"+"查詢資料時間為:"+time3+"ms");

/**

* 10萬資料統計每個資料出現次數並列印

* 利用hashmap的特點:key不能重複(存資料),value可以重複(存次數)

*/hashmaphashmap = new hashmap<>();

arraylistlist = new arraylist<>();

random random = new random();

for(int i = 0;i < 100000;i++)

iteratoriterator = list.iterator();

while(iterator.hasnext())

hashmap.put(num,hashmap.get(num)+1);

}iterator> itr = hashmap.entryset().iterator();

while(itr.hasnext())

/**

* 10萬資料統計第乙個重複的資料並列印

*/hashmaphashmap = new hashmap<>();

arraylistlist = new arraylist<>();

random random = new random();

for(int i = 0;i < 100000;i++)

iteratoriterator = list.iterator();

while(iterator.hasnext())else

}

/**

* 10萬資料去重

* 利用hashset的特點:儲存單個值,且資料不能重複

*/hashsethashset = new hashset<>();

arraylistlist = new arraylist<>();

random random = new random();

for(int i = 0;i < 7;i++)

system.out.println("列印陣列:");

system.out.println(list.tostring());

for(integer e:list)

iteratoritr = hashset.iterator();

system.out.println("列印hashset:");

while(itr.hasnext())

system.out.println();

}

集合框架之 set集合

物件重複是指物件裡面的變數的值都相等,並不定是位址。list集合儲存的型別是基礎型別還比較好辦,直接把list集合轉換成set集合就會自動去除。當set集合儲存的是物件型別時,需要在物件的實體類裡面重寫public boolean equals object obj 和 public int has...

集合框架之Set TreeSet

treeset是set介面的實現類,底層資料結構是二叉樹。treeset的儲存方式按照一定的規則。儲存規則讓資料表現出自然順序。新增乙個新元素t的儲存步驟 1 如果集合無元素,t直接加入 如果集合有元素,t和根節點比較 2 如果t小於根節點 把t放到根節點的左子樹上 重複1 3步驟 3 t大於根節點...

集合框架之List

collection 為頂層集合介面,其下面分有list和set介面。list集合的特點 元素有序 可重複。可以通過索引index來增加 刪除元素。增 add addall add index,某元素 add index,某集合 刪 clear remove removeall remove ind...