Home >Java >JavaBase >Is the key sorting of java map?

Is the key sorting of java map?

angryTom
angryTomOriginal
2019-11-18 11:46:462076browse

Is the key sorting of java map?

Is the key of java map sorted?

java defines an interface java.util for mapping in the data structure .Map, it implements four classes, namely: HashMap, HashTable, LinkedHashMapTreeMap, Map does not allow key duplication, but allows value duplication

1.HashMap:

The most commonly used Map stores data according to the hashcode value of the key, and its value can be obtained directly according to the key (because the hashcode value of the same key is the same, the value is stored where the address is the hashcode value, so it can be obtained directly according to the key value), has a very fast access speed. When traversing, the order of obtaining data is completely random, HashMap only allows the key of one record to be null at most, and allows the value of multiple records to be null. HashMap does not Supports thread synchronization, that is, multiple threads can write HashMap at any time at the same time, which may cause data inconsistency. If synchronization is needed, you can use the synchronziedMap method to make HashMap synchronized or use concurrentHashMap

2 .HashTable:

Similar to HashMap, the difference is that it does not allow the recorded keys or values ​​to be empty, and supports thread synchronization, that is, only one thread can write to HashTable at any time, thus causing HashTable Slower when writing!

3.LinkedHashMap:

is a subclass of HahsMap, but itmaintains the insertion order of records , the first thing obtained during traversal must be inserted first. You can also take parameters during construction and sort by the number of applications. The traversal will be slower than HahsMap, but there is an exception. When the capacity of HashMap is large and the actual data is small, traversal It will be slower than LinkedHashMap (because it is a chain), because the traversal speed of HashMap is related to its capacity, and the traversal speed of LinkedHashMap is only related to the amount of data

4.TreeMap:

Implements the sortMap interface, can sort the saved records according to keys (default ascending order), you can also specify a sorting comparator, and the data obtained during traversal is sorted

What type of Map to use under what circumstances:

Insert, delete, and locate elements in the Map: HashMap

To traverse in a custom order or natural order: TreeMap

Requires the input order and output order to be the same: LinkedHashMap

php Chinese website, a large number of free Java introductory tutorials, welcome to learn online!

The above is the detailed content of Is the key sorting of java map?. 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