Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //PROGRAM
- import java.util.*;
- public class test {
- public static ArrayList<String> list = new ArrayList<>();
- public static HashSet<String> set = new HashSet<>();
- public static ArrayList<Long> times = new ArrayList<>();
- static long time1 = 0;
- static long time2 = 0;
- public static void main(String[] args) throws Exception{
- for (int i=0; i<100000; i++){
- list.add(Integer.toString(i));
- set.add(Integer.toString(i));
- }
- for(int i=0; i<100; i++){
- first();
- second();
- doneIt();
- }
- done();
- }
- public static void first() throws Exception{
- System.gc();
- long start = System.nanoTime();
- list.contains("5948294");
- time1 = System.nanoTime() - start;
- }
- public static void second() throws Exception{
- System.gc();
- long start = System.nanoTime();
- set.contains("5948294");
- time2 = System.nanoTime() - start;
- }
- public static void doneIt(){
- System.out.println("List: " + time1);
- System.out.println("Set: " +time2);
- System.out.println("Efficiency: " + time1/time2);
- times.add(time1/time2);
- }
- public static void done(){
- long sum = 0;
- for(long l : times){
- sum +=l;
- }
- System.out.println("On average, a HashSet's .contains is " + sum/times.size() + " times faster than an ArrayList's .contains");
- }
- }
- //OUTPUT
- List: 7412651
- Set: 33277
- Efficiency: 222
- List: 713120
- Set: 15239
- Efficiency: 46
- List: 733023
- Set: 12129
- Efficiency: 60
- List: 653719
- Set: 12440
- Efficiency: 52
- List: 658384
- Set: 14617
- Efficiency: 45
- List: 846538
- Set: 12751
- Efficiency: 66
- List: 649987
- Set: 14617
- Efficiency: 44
- List: 642523
- Set: 12129
- Efficiency: 52
- List: 721828
- Set: 12128
- Efficiency: 59
- List: 651542
- Set: 11818
- Efficiency: 55
- List: 682952
- Set: 13995
- Efficiency: 48
- List: 940459
- Set: 12440
- Efficiency: 75
- List: 650298
- Set: 14617
- Efficiency: 44
- List: 680465
- Set: 12129
- Efficiency: 56
- List: 668958
- Set: 13683
- Efficiency: 48
- List: 922111
- Set: 18660
- Efficiency: 49
- List: 673623
- Set: 12440
- Efficiency: 54
- List: 693216
- Set: 12751
- Efficiency: 54
- List: 959119
- Set: 13062
- Efficiency: 73
- List: 837831
- Set: 12129
- Efficiency: 69
- List: 709698
- Set: 12440
- Efficiency: 57
- List: 698192
- Set: 11506
- Efficiency: 60
- List: 726182
- Set: 11507
- Efficiency: 63
- List: 731158
- Set: 16172
- Efficiency: 45
- List: 668336
- Set: 12751
- Efficiency: 52
- List: 683264
- Set: 12129
- Efficiency: 56
- List: 701302
- Set: 14617
- Efficiency: 47
- List: 804865
- Set: 15239
- Efficiency: 52
- List: 666470
- Set: 12440
- Efficiency: 53
- List: 726492
- Set: 11196
- Efficiency: 64
- List: 634126
- Set: 13373
- Efficiency: 47
- List: 711876
- Set: 12751
- Efficiency: 55
- List: 640968
- Set: 11507
- Efficiency: 55
- List: 806730
- Set: 12440
- Efficiency: 64
- List: 645633
- Set: 14617
- Efficiency: 44
- List: 747330
- Set: 10263
- Efficiency: 72
- List: 703479
- Set: 12751
- Efficiency: 55
- List: 773765
- Set: 13372
- Efficiency: 57
- List: 636614
- Set: 13995
- Efficiency: 45
- List: 710943
- Set: 11818
- Efficiency: 60
- List: 669580
- Set: 13684
- Efficiency: 48
- List: 672690
- Set: 12440
- Efficiency: 54
- List: 719962
- Set: 12751
- Efficiency: 56
- List: 714052
- Set: 11818
- Efficiency: 60
- List: 702546
- Set: 12750
- Efficiency: 55
- List: 647499
- Set: 14928
- Efficiency: 43
- List: 665848
- Set: 12129
- Efficiency: 54
- List: 648743
- Set: 12751
- Efficiency: 50
- List: 652786
- Set: 27679
- Efficiency: 23
- List: 634126
- Set: 11818
- Efficiency: 53
- List: 668647
- Set: 12440
- Efficiency: 53
- List: 1249592
- Set: 12751
- Efficiency: 97
- List: 817304
- Set: 12440
- Efficiency: 65
- List: 1018209
- Set: 11818
- Efficiency: 86
- List: 696637
- Set: 26124
- Efficiency: 26
- List: 665848
- Set: 11507
- Efficiency: 57
- List: 730846
- Set: 13062
- Efficiency: 55
- List: 766612
- Set: 11507
- Efficiency: 66
- List: 719340
- Set: 11506
- Efficiency: 62
- List: 676421
- Set: 12751
- Efficiency: 53
- List: 769721
- Set: 11818
- Efficiency: 65
- List: 678910
- Set: 12750
- Efficiency: 53
- List: 920245
- Set: 15239
- Efficiency: 60
- List: 724315
- Set: 11196
- Efficiency: 64
- List: 694771
- Set: 12129
- Efficiency: 57
- List: 775630
- Set: 12751
- Efficiency: 60
- List: 679843
- Set: 19593
- Efficiency: 34
- List: 686685
- Set: 12440
- Efficiency: 55
- List: 678288
- Set: 19593
- Efficiency: 34
- List: 672690
- Set: 11507
- Efficiency: 58
- List: 773454
- Set: 12751
- Efficiency: 60
- List: 669891
- Set: 11507
- Efficiency: 58
- List: 749196
- Set: 12751
- Efficiency: 58
- List: 636303
- Set: 11818
- Efficiency: 53
- List: 954766
- Set: 12751
- Efficiency: 74
- List: 669580
- Set: 12751
- Efficiency: 52
- List: 692594
- Set: 13062
- Efficiency: 53
- List: 656829
- Set: 12440
- Efficiency: 52
- List: 678910
- Set: 13995
- Efficiency: 48
- List: 670202
- Set: 12129
- Efficiency: 55
- List: 647188
- Set: 13062
- Efficiency: 49
- List: 650298
- Set: 13062
- Efficiency: 49
- List: 758214
- Set: 39185
- Efficiency: 19
- List: 668647
- Set: 18037
- Efficiency: 37
- List: 659939
- Set: 18660
- Efficiency: 35
- List: 664293
- Set: 12440
- Efficiency: 53
- List: 667714
- Set: 20215
- Efficiency: 33
- List: 663982
- Set: 12129
- Efficiency: 54
- List: 640657
- Set: 13062
- Efficiency: 49
- List: 727114
- Set: 13062
- Efficiency: 55
- List: 1681880
- Set: 13062
- Efficiency: 128
- List: 1255501
- Set: 13062
- Efficiency: 96
- List: 682020
- Set: 19593
- Efficiency: 34
- List: 717163
- Set: 13062
- Efficiency: 54
- List: 626974
- Set: 13995
- Efficiency: 44
- List: 739866
- Set: 34210
- Efficiency: 21
- List: 663671
- Set: 18038
- Efficiency: 36
- List: 773453
- Set: 11818
- Efficiency: 65
- List: 623552
- Set: 14617
- Efficiency: 42
- List: 748885
- Set: 25191
- Efficiency: 29
- On average, a HashSet's .contains is 55 times faster than an ArrayList's .contains
- Process finished with exit code 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement