Java containers include: ArrayList, LinkedList, Vector, HashSet, LinkedHashSet, TreeSet, LinkedHashMap, TreeMap, ConcurrentHashMap, Hashtable, etc.
The operating environment of this tutorial: windows7 system, java8 version, DELL G3 computer.
What is a container?
Container refers to a basic device used to hold materials and is mainly a shell.
The purpose of the Java container class library is to "save objects". Excerpted from: "Thinking in Java".
The Java collection class is a particularly useful tool class that can be used to store a varying number of objects and can implement commonly used data structures, such as stacks, queues, etc. A Java collection is like a container that can "throw" multiple objects (actually references to objects, but commonly called objects) into the container. Excerpted from: "Crazy Java Lecture Notes".
Containers in Java are also called collections, which are objects specially used to manage objects. This is what I am talking about.
What are Java containers?
Java containers are divided into two categories: Collection and Map, and there are many subclasses under them. The following is the inheritance system of Collection and Map:
- Collection
- List
- ArrayList
- LinkedList
- Vector
- Stack
Set- HashSet
- LinkedHashSet
- TreeSet
Map- HashMap
- LinkedHashMap
TreeMap- ConcurrentHashMap
- Hashtable
##What is the difference between ArrayList and LinkList?
ArrayList (array structure):
- Advantages: get and set calls take constant time, that is, the query Fast
- Disadvantages: The insertion of new items and the deletion of existing items are expensive, that is, the speed of addition and deletion is slow
:
- Advantages: The cost of inserting new items and deleting existing items is very small, that is, adding and deleting are fast
- Disadvantages: Calling get and set is expensive and not suitable for querying
The difference between List, Set and Map What is it? The difference between List, Set, and Map is mainly reflected in two aspects: whether the elements are ordered and whether duplicate elements are allowed.
The differences between the three are as follows:
What is the difference between HashMap and Hashtable?
- Storage: HashMap operates with null key and value, while Hashtable does not allow this.
- Thread safety: Hashtable is thread-safe, while HashMap is not thread-safe.
- Recommended use: As you can see in the class annotation of Hashtable, Hashtable is a reserved class and is not recommended for use. It is recommended to use HashMap instead in a single-threaded environment. If multi-threading is required, use ConcurrentHashMap substitute.
What is the difference between Comparable and Comparator? Comparable interface
- Implementing the Comparable interface class indicates that objects of this type can be compared in size. Such objects that can be compared in size allow for natural sorting.
- Comparator interface
- The comparator is used to compare any properties of objects.
- When sorting, you can achieve arbitrary attribute sorting by specifying an attribute comparator.
- When sorting, the Comparable interface is used for natural sorting, while the Comparator interface is used for custom sorting. Custom sorting is more flexible, convenient and commonly used.
Recommended related video tutorials:
The above is the detailed content of What are the java containers?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Dreamweaver Mac version
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

WebStorm Mac version
Useful JavaScript development tools