Home > Java > javaTutorial > What is the use of Collection FrameWork in JAVA

What is the use of Collection FrameWork in JAVA

王林
Release: 2023-05-09 13:31:07
forward
1292 people have browsed it

Collection is the most basic collection interface. A Collection represents a group of Objects, that is, the elements of the Collection. Map provides key to value mapping

The difference between ArrayList and Vector, the difference between HashMap and Hashtable
Answer: ArrayList and Vector mainly come from two aspects.
1. Synchronicity: Vector is thread-safe, which means it is synchronized, while ArrayList is thread-safe and not synchronized
2. Data growth: When growth is needed, Vector grows by default by one level, while ArrayList grows by half of the original size.

There are three main aspects of HashMap and HashTable.
1. Historical reasons: Hashtable is based on the old Dictionary class, and HashMap is an implementation of the Map interface introduced in Java 1.2
2. Synchronicity: Hashtable is thread-safe, which means it is synchronous, and HashMap is an insecure online program and is not synchronous
Three. Value: Only HashMap allows you to use null values ​​as the key or value of a table entry

The storage performance and performance of ArrayList, Vector, and LinkedList Features
ArrayList and Vector both use arrays to store data. The number of array elements is larger than the actual stored data so that elements can be added and inserted. They both allow elements to be indexed directly by serial number, but inserting elements involves memory operations such as moving array elements. , so indexing data is fast but inserting data is slow. Because Vector uses the synchronized method (thread safety), its performance is usually worse than ArrayList, while LinkedList uses a doubly linked list to implement storage. Indexing data by serial number requires forward or backward traversal, but When inserting data, you only need to record the items before and after this item, so the insertion speed is faster.
8 Design 4 threads, two of which increase j by 1 each time, and the other two threads decrease j by 1 each time. Write the program.
The following program uses internal classes to implement threads, and does not consider the order when increasing or decreasing j.
public class ThreadTest1{
private int j;
public static void main(String args[]){
ThreadTest1 tt=new ThreadTest1();
Inc inc=tt.new Inc( );
Dec dec=tt.new Dec();
for(int i=0;i<2;i ){
Thread t=new Thread(inc);
t.start ();
t=new Thread(dec);
t.start();
}
}
private synchronized void inc(){
j ;
System .out.println(Thread.currentThread().getName() "-inc:" j);
}
private synchronized void dec(){
j--;
System.out. println(Thread.currentThread().getName() "-dec:" j);
}

class Inc implements Runnable{
public void run(){
for(int i =0;i<100;i ){
inc();
}
}
}
class Dec implements Runnable{
public void run(){
for (int i=0;i<100;i ){
dec();
}
}
}
}

The above is the detailed content of What is the use of Collection FrameWork in JAVA. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:yisu.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template