1、用hashtable和hashmap測試插入是10萬個資料的速度
2、 對十萬個隨機數,統計數字重複的次數hashtablehashtable=new hashtable<>();
long l = system.currenttimemillis();//起始時間
object o=new object();
random random=new random();
for (int i = 0; i < 100000; i++)
long l1 = system.currenttimemillis();//截止時間
long l11 = l1 - l;//執行時間
system.out.print("hashtable插入資料的時間為" + l11 + " ");
long s = system.currenttimemillis();//起始時間
object o1=new object();
hashmaphashmap=new hashmap();
random random1=new random();
for(int i=0;i<100000;i++)
long s1 = system.currenttimemillis();//截止時間
long s11 = s1 - s;//執行時間
system.out.print("hashmap插入資料的時間為" + s11 + " ");
3、10萬資料找出第乙個重複的資料並列印random random=new random();
arraylistlist=new arraylist<>();
for(int i=0;i<100000;i++)
//統計出現的次數 hashmap->key:資料本身 value->資料出現的次數
hashmaphashmap=new hashmap<>();
iteratoriterator=list.iterator();
while (iterator.hasnext())else
}//列印資料
iterator> itr = hashmap.entryset().iterator();
while(itr.hasnext())
system.out.println();
4、 10萬資料找出出現次數最多的資料並列印hashmaphashmap = new hashmap<>();
random random1 = new random();
arraylistlist=new arraylist<>();
for (int i = 0; i < 100000; i++)
hashmaphashmap=new hashmap<>();
iteratoriterator=list.iterator();
while(iterator.hasnext())
else
}
5、通過對arraylist和linkedlist對10萬個資料分別進行插入、獲取操作,比較不同集合操作耗時hashmaphashmap = new hashmap<>();
random random1 = new random();
arraylistlist=new arraylist<>();
for(int i = 0;i < 100000;i++)
// list.add(1);
// list.add(3);
// list.add(4);
// list.add(1);
// list.add(2);
// list.add(1);
// list.add(3);
hashmaphashmap=new hashmap<>();
iteratoriterator=list.iterator();
while(iterator.hasnext())
else
}//以鍵值對的形式遍歷hashmap
iterator> iterator1=hashmap.entryset().iterator();
int count=0;//統計重複次數最多的次數
int data=0;//統計重複次數最多的數字
while (iterator1.hasnext())
}system.out.println(data+" "+count);
arraylist list1 = new arraylist();
long l = system.currenttimemillis();//起始時間
random random = new random();
for (int i = 0; i < 100000; i++)
long l1 = system.currenttimemillis();//截止時間
long l11 = l1 - l;//執行時間
system.out.print("arraylist插入資料的時間為" + l11 + " ");
long t = system.currenttimemillis();
for (int i = 0; i < 100000; i++)
long t1 = system.currenttimemillis();
long t11 = t1 - t;
system.out.println("arraylist獲取資料的時間為" + t11);
linkedlist list2 = new linkedlist();
long m = system.currenttimemillis();
for (int j = 0; j < 100000; j++)
long m1 = system.currenttimemillis();
long m11 = m1 - m;
system.out.print("linkedlist插入資料的時間為" + m11 + " ");
long n = system.currenttimemillis();
for (int j = 0; j < 100000; j++)
long n1 = system.currenttimemillis();
long n11= n1 - n;
system.out.println("linkedlist獲取資料的時間為" + n11);
資料處理(集合)
int 231 231 1 2147483648 2147483647 float 2128 2128 1 3.40e 38 3.40e 38 double 21024 21024 1 1.79e 308 1.79e 308 bigdecimal bg new bigdecimal s setsca...
大量資料處理問題
1.根據快速排序劃分的思想 1 遞迴對所有資料分成 a,b b b,d 兩個區間,b,d 區間內的數都是大於 a,b 區間內的數 2 對 b,d 重複 1 操作,直到最右邊的區間個數小於100個。注意 a,b 區間不用劃分 3 返回上乙個區間,並返回此區間的數字數目。接著方法仍然是對上一區間的左邊進...
mysql 大量資料處理問題
一 大量資料儲存問題解決方法 分割槽 分表 原則 多利用點記憶體,減輕磁碟io負載,因為io往往是資料庫伺服器的瓶頸 區別 1,實現方式上 mysql的分表是真正的分表,一張表分成很多表後,每乙個小表都是完正的一張表 分割槽不一樣,一張大表進行分割槽後,他還是一張表,不會變成二張表,但是他存放資料的...