Introduction to five methods of traversing a map
Map collection traversal is often used in daily development. The differences between several traversal methods are introduced below.
(Recommended tutorial: java course)
1. How to write Iterator entrySet [recommended for JDK8 and below], Map.Entry is the internal interface of the Map interface, and obtains the iterator. Then take out the Map.Entry
Iterator<Map.Entry<Integer,String>> iterator=map.entrySet().iterator(); while(iterator.hasNext()){ Map.Entry<Integer,String> entry=iterator1.next(); System.out.println(entry.getKey()); System.out.println(entry.getValue()); }
2 in each iterator in turn. How to write Iterator keyset [not recommended, you can only get the key, and then get the corresponding value through the key, and repeat the calculation]
Iterator<Integer> iterator=map.keySet().iterator(); while (iterator.hasNext()){ Integer key=iterator.next(); System.out.println(key); System.out.println(map.get(key)); }
3. Foreach traversal method [Recommended writing method below JDK8]
for(Map.Entry<Integer,String> entry:map.entrySet()){ System.out.println(entry.getKey()); System.out.println(entry.getValue()); };
4. Lambda expression traversal [JDK8 recommended writing method, simple]
map.forEach((key,value)->{ System.out.println(key); System.out.println(value); });
5. Stream stream traversal Map [Writing method not recommended under JDK8] , Repeated calculation]
map.entrySet().stream().forEach((Map.Entry<Integer, String> entry) -> { System.out.println(entry.getKey()); System.out.println(entry.getValue()); });
If there is some intermediate processing in the Map collection, filtering operations can be performed, and streaming traversal is also very convenient.
Related recommendations: java introductory tutorial
The above is the detailed content of Introduction to five methods of traversing a map. 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

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

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

Hot Topics



application.yml defines the list collection. The first way is to use the @ConfigurationProperties annotation to obtain all the values of the list collection type:code:status:-200-300-400-500. Write the entity class corresponding to the configuration file. What needs to be noted here is that defining the list Collection, first define a configuration class Bean, and then use the annotation @ConfigurationProperties annotation to obtain the list collection value. Here we will explain the role of the relevant annotations. @Component hands over the entity class to Spring management @ConfigurationPropertie

1. Technical background In actual project development, we often use caching middleware (such as redis, MemCache, etc.) to help us improve the availability and robustness of the system. But in many cases, if the project is relatively simple, there is no need to specifically introduce middleware such as Redis to increase the complexity of the system in order to use caching. So does Java itself have any useful lightweight caching components? The answer is of course yes, and there is more than one way. Common solutions include: ExpiringMap, LoadingCache and HashMap-based packaging. 2. Technical effects to realize common functions of cache, such as outdated deletion strategy, hotspot data warm-up 3. ExpiringMap3.

Method 1. Use HashtableMapashtable=newHashtable(); This is the first thing everyone thinks of, so why is it thread-safe? Then take a look at its source code. We can see that our commonly used methods such as put, get, and containsKey are all synchronous, so it is thread-safe publicsynchronizedbooleancontainsKey(Objectkey){Entrytab[]=table;inthash=key.hashCode( );intindex=(hash&0x7FFFFFFF)%tab.leng

There are many ways to convert javabeans and maps, such as: 1. Convert beans to json through ObjectMapper, and then convert json to map. However, this method is complicated and inefficient. After testing, 10,000 beans were converted in a loop. , it takes 12 seconds! ! ! Not recommended. 2. Obtain the attributes and values of the bean class through Java reflection, and then convert them into the key-value pairs corresponding to the map. This method is the second best, but it is a little more troublesome. 3. Through net.sf.cglib.beans.BeanMap Method in the class, this method is extremely efficient. The difference between it and the second method is that because of the use of cache, the bean needs to be initialized when it is first created.

Optimizing the performance of Go language map In Go language, map is a very commonly used data structure, used to store a collection of key-value pairs. However, map performance may suffer when processing large amounts of data. In order to improve the performance of map, we can take some optimization measures to reduce the time complexity of map operations, thereby improving the execution efficiency of the program. 1. Pre-allocate map capacity. When creating a map, we can reduce the number of map expansions and improve program performance by pre-allocating capacity. Generally, we

The map directive uses the ngx_http_map_module module. By default, nginx loads this module unless artificially --without-http_map_module. The ngx_http_map_module module can create variables whose values are associated with the values of other variables. Allows classification or simultaneous mapping of multiple values to multiple different values and storage in a variable. The map directive is used to create a variable, but only performs the view mapping operation when the variable is accepted. For processing requests that do not reference variables, this The module has no performance shortcomings. 1.ngx_http_map_module module instruction description map syntax

Two methods: 1. Use the "for range" statement to traverse the map to obtain all elements, with the syntax "for key, value := range mapName{...}". 2. Use key as an index to obtain the specified element, the syntax is "value, isOk := mapName[key]"; return two return values, the first return value is the obtained value, if the key does not exist, return empty Value, the second parameter is a bool value, indicating whether the value is obtained successfully.

When passing a map to a function in Go, a copy will be created by default, and modifications to the copy will not affect the original map. If you need to modify the original map, you can pass it through a pointer. Empty maps need to be handled with care, because they are technically nil pointers, and passing an empty map to a function that expects a non-empty map will cause an error.
