Advertisement
Guest User

Untitled

a guest
Aug 25th, 2014
243
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.52 KB | None | 0 0
  1. //PROGRAM
  2. import java.util.*;
  3.  
  4. public class test {
  5. public static ArrayList<String> list = new ArrayList<>();
  6. public static HashSet<String> set = new HashSet<>();
  7. public static ArrayList<Long> times = new ArrayList<>();
  8.  
  9. static long time1 = 0;
  10. static long time2 = 0;
  11.  
  12. public static void main(String[] args) throws Exception{
  13. for (int i=0; i<100000; i++){
  14. list.add(Integer.toString(i));
  15. set.add(Integer.toString(i));
  16. }
  17.  
  18. for(int i=0; i<100; i++){
  19. first();
  20. second();
  21. doneIt();
  22. }
  23.  
  24. done();
  25. }
  26.  
  27. public static void first() throws Exception{
  28. System.gc();
  29. long start = System.nanoTime();
  30. list.contains("5948294");
  31. time1 = System.nanoTime() - start;
  32. }
  33.  
  34. public static void second() throws Exception{
  35. System.gc();
  36. long start = System.nanoTime();
  37. set.contains("5948294");
  38. time2 = System.nanoTime() - start;
  39. }
  40.  
  41. public static void doneIt(){
  42. System.out.println("List: " + time1);
  43. System.out.println("Set: " +time2);
  44. System.out.println("Efficiency: " + time1/time2);
  45. times.add(time1/time2);
  46. }
  47.  
  48. public static void done(){
  49. long sum = 0;
  50. for(long l : times){
  51. sum +=l;
  52. }
  53. System.out.println("On average, a HashSet's .contains is " + sum/times.size() + " times faster than an ArrayList's .contains");
  54. }
  55. }
  56.  
  57.  
  58. //OUTPUT
  59. List: 7412651
  60. Set: 33277
  61. Efficiency: 222
  62. List: 713120
  63. Set: 15239
  64. Efficiency: 46
  65. List: 733023
  66. Set: 12129
  67. Efficiency: 60
  68. List: 653719
  69. Set: 12440
  70. Efficiency: 52
  71. List: 658384
  72. Set: 14617
  73. Efficiency: 45
  74. List: 846538
  75. Set: 12751
  76. Efficiency: 66
  77. List: 649987
  78. Set: 14617
  79. Efficiency: 44
  80. List: 642523
  81. Set: 12129
  82. Efficiency: 52
  83. List: 721828
  84. Set: 12128
  85. Efficiency: 59
  86. List: 651542
  87. Set: 11818
  88. Efficiency: 55
  89. List: 682952
  90. Set: 13995
  91. Efficiency: 48
  92. List: 940459
  93. Set: 12440
  94. Efficiency: 75
  95. List: 650298
  96. Set: 14617
  97. Efficiency: 44
  98. List: 680465
  99. Set: 12129
  100. Efficiency: 56
  101. List: 668958
  102. Set: 13683
  103. Efficiency: 48
  104. List: 922111
  105. Set: 18660
  106. Efficiency: 49
  107. List: 673623
  108. Set: 12440
  109. Efficiency: 54
  110. List: 693216
  111. Set: 12751
  112. Efficiency: 54
  113. List: 959119
  114. Set: 13062
  115. Efficiency: 73
  116. List: 837831
  117. Set: 12129
  118. Efficiency: 69
  119. List: 709698
  120. Set: 12440
  121. Efficiency: 57
  122. List: 698192
  123. Set: 11506
  124. Efficiency: 60
  125. List: 726182
  126. Set: 11507
  127. Efficiency: 63
  128. List: 731158
  129. Set: 16172
  130. Efficiency: 45
  131. List: 668336
  132. Set: 12751
  133. Efficiency: 52
  134. List: 683264
  135. Set: 12129
  136. Efficiency: 56
  137. List: 701302
  138. Set: 14617
  139. Efficiency: 47
  140. List: 804865
  141. Set: 15239
  142. Efficiency: 52
  143. List: 666470
  144. Set: 12440
  145. Efficiency: 53
  146. List: 726492
  147. Set: 11196
  148. Efficiency: 64
  149. List: 634126
  150. Set: 13373
  151. Efficiency: 47
  152. List: 711876
  153. Set: 12751
  154. Efficiency: 55
  155. List: 640968
  156. Set: 11507
  157. Efficiency: 55
  158. List: 806730
  159. Set: 12440
  160. Efficiency: 64
  161. List: 645633
  162. Set: 14617
  163. Efficiency: 44
  164. List: 747330
  165. Set: 10263
  166. Efficiency: 72
  167. List: 703479
  168. Set: 12751
  169. Efficiency: 55
  170. List: 773765
  171. Set: 13372
  172. Efficiency: 57
  173. List: 636614
  174. Set: 13995
  175. Efficiency: 45
  176. List: 710943
  177. Set: 11818
  178. Efficiency: 60
  179. List: 669580
  180. Set: 13684
  181. Efficiency: 48
  182. List: 672690
  183. Set: 12440
  184. Efficiency: 54
  185. List: 719962
  186. Set: 12751
  187. Efficiency: 56
  188. List: 714052
  189. Set: 11818
  190. Efficiency: 60
  191. List: 702546
  192. Set: 12750
  193. Efficiency: 55
  194. List: 647499
  195. Set: 14928
  196. Efficiency: 43
  197. List: 665848
  198. Set: 12129
  199. Efficiency: 54
  200. List: 648743
  201. Set: 12751
  202. Efficiency: 50
  203. List: 652786
  204. Set: 27679
  205. Efficiency: 23
  206. List: 634126
  207. Set: 11818
  208. Efficiency: 53
  209. List: 668647
  210. Set: 12440
  211. Efficiency: 53
  212. List: 1249592
  213. Set: 12751
  214. Efficiency: 97
  215. List: 817304
  216. Set: 12440
  217. Efficiency: 65
  218. List: 1018209
  219. Set: 11818
  220. Efficiency: 86
  221. List: 696637
  222. Set: 26124
  223. Efficiency: 26
  224. List: 665848
  225. Set: 11507
  226. Efficiency: 57
  227. List: 730846
  228. Set: 13062
  229. Efficiency: 55
  230. List: 766612
  231. Set: 11507
  232. Efficiency: 66
  233. List: 719340
  234. Set: 11506
  235. Efficiency: 62
  236. List: 676421
  237. Set: 12751
  238. Efficiency: 53
  239. List: 769721
  240. Set: 11818
  241. Efficiency: 65
  242. List: 678910
  243. Set: 12750
  244. Efficiency: 53
  245. List: 920245
  246. Set: 15239
  247. Efficiency: 60
  248. List: 724315
  249. Set: 11196
  250. Efficiency: 64
  251. List: 694771
  252. Set: 12129
  253. Efficiency: 57
  254. List: 775630
  255. Set: 12751
  256. Efficiency: 60
  257. List: 679843
  258. Set: 19593
  259. Efficiency: 34
  260. List: 686685
  261. Set: 12440
  262. Efficiency: 55
  263. List: 678288
  264. Set: 19593
  265. Efficiency: 34
  266. List: 672690
  267. Set: 11507
  268. Efficiency: 58
  269. List: 773454
  270. Set: 12751
  271. Efficiency: 60
  272. List: 669891
  273. Set: 11507
  274. Efficiency: 58
  275. List: 749196
  276. Set: 12751
  277. Efficiency: 58
  278. List: 636303
  279. Set: 11818
  280. Efficiency: 53
  281. List: 954766
  282. Set: 12751
  283. Efficiency: 74
  284. List: 669580
  285. Set: 12751
  286. Efficiency: 52
  287. List: 692594
  288. Set: 13062
  289. Efficiency: 53
  290. List: 656829
  291. Set: 12440
  292. Efficiency: 52
  293. List: 678910
  294. Set: 13995
  295. Efficiency: 48
  296. List: 670202
  297. Set: 12129
  298. Efficiency: 55
  299. List: 647188
  300. Set: 13062
  301. Efficiency: 49
  302. List: 650298
  303. Set: 13062
  304. Efficiency: 49
  305. List: 758214
  306. Set: 39185
  307. Efficiency: 19
  308. List: 668647
  309. Set: 18037
  310. Efficiency: 37
  311. List: 659939
  312. Set: 18660
  313. Efficiency: 35
  314. List: 664293
  315. Set: 12440
  316. Efficiency: 53
  317. List: 667714
  318. Set: 20215
  319. Efficiency: 33
  320. List: 663982
  321. Set: 12129
  322. Efficiency: 54
  323. List: 640657
  324. Set: 13062
  325. Efficiency: 49
  326. List: 727114
  327. Set: 13062
  328. Efficiency: 55
  329. List: 1681880
  330. Set: 13062
  331. Efficiency: 128
  332. List: 1255501
  333. Set: 13062
  334. Efficiency: 96
  335. List: 682020
  336. Set: 19593
  337. Efficiency: 34
  338. List: 717163
  339. Set: 13062
  340. Efficiency: 54
  341. List: 626974
  342. Set: 13995
  343. Efficiency: 44
  344. List: 739866
  345. Set: 34210
  346. Efficiency: 21
  347. List: 663671
  348. Set: 18038
  349. Efficiency: 36
  350. List: 773453
  351. Set: 11818
  352. Efficiency: 65
  353. List: 623552
  354. Set: 14617
  355. Efficiency: 42
  356. List: 748885
  357. Set: 25191
  358. Efficiency: 29
  359. On average, a HashSet's .contains is 55 times faster than an ArrayList's .contains
  360.  
  361. Process finished with exit code 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement