0% found this document useful (0 votes)
23 views

ArrayList & Vector

String is immutable while StringBuffer and StringBuilder allow changes. The difference is that StringBuilder is unsynchronized and StringBuffer is synchronized, making StringBuilder more efficient for single-threaded use. To choose: use String for immutable text, StringBuilder for mutable single-threaded text, or StringBuffer for mutable multi-threaded text. Calling System.gc() hints for garbage collection but does not guarantee it.

Uploaded by

sarathijeyaram
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views

ArrayList & Vector

String is immutable while StringBuffer and StringBuilder allow changes. The difference is that StringBuilder is unsynchronized and StringBuffer is synchronized, making StringBuilder more efficient for single-threaded use. To choose: use String for immutable text, StringBuilder for mutable single-threaded text, or StringBuffer for mutable multi-threaded text. Calling System.gc() hints for garbage collection but does not guarantee it.

Uploaded by

sarathijeyaram
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 1

1. Arraylist is not synchronized while vector is.

2. Arraylist has no default size while vector has a default size of 10.
3. Arraylist don't define any increment size while vector does.
4. Arraylist can be seen directly without any iterator while vector requires an iterator
to display all it's content. (not very sure).

Difference between String StringBuffer and StringBuilder

String is immutable whereas StringBuffer and StringBuilder can change their values.

The only difference between StringBuffer and StringBuilder is that StringBuilder is


unsynchronized whereas StringBuffer is synchronized. So when the application needs to
be run only in a single thread then it is better to use StringBuilder. StringBuilder is more
efficient than StringBuffer.

Criteria to choose among String, StringBuffer and StringBuilder

1. If your text is not going to change use a string Class because a String object is
immutable.
2. If your text can change and will only be accessed from a single thread, use a
StringBuilder because StringBuilder is unsynchronized.
3. If your text can changes, and will be accessed from multiple threads, use a
StringBuffer because StringBuffer is synchronous.

How can I force garbage collection to take place

You can't force it but you call System.gc(), which is a "hint" to the runtime engine that
now might be a good time to run the GC. But garbage collection using this method is not
guaranteed to be done immediately.

You might also like