Home  >  Article  >  Java  >  What are the java containers?

What are the java containers?

青灯夜游
青灯夜游Original
2021-07-23 17:34:0325900browse

Java containers include: ArrayList, LinkedList, Vector, HashSet, LinkedHashSet, TreeSet, LinkedHashMap, TreeMap, ConcurrentHashMap, Hashtable, etc.

What are the java containers?

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:

What are the java containers?
What are the java containers?

##The specific structure is as follows:


    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
LinkedList (linked list structure)

:

    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 are the java containers?

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.
Comparable is not recommended for use because it is intrusive to the program itself.


Recommended related video tutorials:

Java video tutorial

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!

Statement:
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