File tree Expand file tree Collapse file tree 3 files changed +189
-0
lines changed
src/CoreJava/arrayListVsVector Expand file tree Collapse file tree 3 files changed +189
-0
lines changed Original file line number Diff line number Diff line change 1+ package CoreJava .arrayListVsVector ;
2+
3+ import java .util .ArrayList ;
4+ import java .util .Iterator ;
5+ import java .util .Random ;
6+
7+ /**
8+ * Created by dssachan on 29/09/16.
9+ * shows how to cause a ConcurrentModificationException
10+ */
11+ public class ArrayListTest {
12+
13+ private static ArrayList <Integer > ints = new ArrayList <Integer >();
14+
15+ public static void main (String [] strings ) {
16+ new Thread (new Runnable () {
17+ @ Override
18+ public void run () {
19+ while (true ) {
20+ ints .add (new Random ().nextInt ());
21+ try {
22+ Thread .sleep (100 );
23+ } catch (Exception e ) {
24+
25+ }
26+ }
27+ }
28+ }).start ();
29+
30+ new Thread (new Runnable () {
31+ @ Override
32+ public void run () {
33+ while (true ) {
34+ ints .add (new Random ().nextInt ());
35+ try {
36+ Thread .sleep (100 );
37+ } catch (Exception e ) {
38+
39+ }
40+ }
41+ }
42+ }).start ();
43+
44+ new Thread (new Runnable () {
45+ @ Override
46+ public void run () {
47+ while (true ) {
48+ ints .add (new Random ().nextInt ());
49+ try {
50+ Thread .sleep (100 );
51+ } catch (Exception e ) {
52+
53+ }
54+ }
55+ }
56+ }).start ();
57+
58+ System .out .println ("started" );
59+
60+ try {
61+ Thread .sleep (5000 );
62+ }catch (Exception e ){}
63+
64+ Iterator <Integer > integerIterator = ints .iterator ();
65+ while (true ) {
66+ while (integerIterator .hasNext ()) {
67+ System .out .println (integerIterator .next ());
68+ }
69+ try {
70+ Thread .sleep (100 );
71+ }catch (Exception e ){}
72+ }
73+
74+ }
75+
76+ }
Original file line number Diff line number Diff line change 1+ package CoreJava .arrayListVsVector ;
2+
3+ import java .io .PrintStream ;
4+ import java .util .ArrayList ;
5+ import java .util .Vector ;
6+ import java .lang .System ;
7+ /**
8+ * Created by dssachan on 29/09/16.
9+ */
10+ public class TimeTest {
11+ static PrintStream ps = System .out ;
12+ public static void main (String [] strings ){
13+ ArrayList iA = new ArrayList ();
14+ Vector iV = new Vector ();
15+ Integer integer = new Integer (100 );
16+ long t1 = System .nanoTime ();
17+ for (int k =0 ;k <100000 ;k ++) {
18+ iA .add (integer );
19+ }
20+ ps .println (iA );
21+ ps .println ();
22+ ps .println (System .nanoTime () - t1 );
23+ t1 = System .nanoTime ();
24+ for (int k =0 ;k <100000 ;k ++) {
25+ iV .add (integer );
26+ }
27+ ps .print (iV .toString ());
28+ ps .println ();
29+ ps .println (System .nanoTime () - t1 );
30+ }
31+ }
Original file line number Diff line number Diff line change 1+ package CoreJava .arrayListVsVector ;
2+
3+ import java .util .ArrayList ;
4+ import java .util .Iterator ;
5+ import java .util .Random ;
6+ import java .util .Vector ;
7+
8+ /**
9+ * Created by dssachan on 29/09/16.
10+ * shows how to cause a ConcurrentModificationException
11+ */
12+ public class VectorTest {
13+
14+ private static Vector <Integer > ints = new Vector <Integer >();
15+
16+ public static void main (String [] strings ) {
17+
18+ new Thread (new Runnable () {
19+ @ Override
20+ public void run () {
21+ while (true ) {
22+ ints .add (new Random ().nextInt ());
23+ try {
24+ Thread .sleep (100 );
25+ } catch (Exception e ) {
26+
27+ }
28+ }
29+ }
30+ }).start ();
31+
32+ new Thread (new Runnable () {
33+ @ Override
34+ public void run () {
35+ while (true ) {
36+ ints .add (new Random ().nextInt ());
37+ try {
38+ Thread .sleep (100 );
39+ } catch (Exception e ) {
40+
41+ }
42+ }
43+ }
44+ }).start ();
45+
46+ new Thread (new Runnable () {
47+ @ Override
48+ public void run () {
49+ while (true ) {
50+ ints .add (new Random ().nextInt ());
51+ try {
52+ Thread .sleep (100 );
53+ } catch (Exception e ) {
54+
55+ }
56+ }
57+ }
58+ }).start ();
59+
60+ System .out .println ("started" );
61+
62+ try {
63+ Thread .sleep (5000 );
64+ }catch (Exception e ){}
65+
66+ Iterator <Integer > integerIterator = ints .iterator ();
67+ while (true ) {
68+ try {
69+ while (integerIterator .hasNext ()) {
70+ System .out .println (integerIterator .next ());
71+ }
72+ }catch (Exception e ){
73+ e .printStackTrace ();
74+ }
75+ try {
76+ Thread .sleep (100 );
77+ }catch (Exception e ){}
78+ }
79+
80+ }
81+
82+ }
You can’t perform that action at this time.
0 commit comments