Skip to main content

Subtraction two maps by key using Guava library.

In Guava, we have a API work on Maps is difference, we use this API to implement the substraction operator.

Create a maven proj and add below dependency to pom.xml to use this library:
<dependency>
     <groupId>com.google.guava</groupId>
     <artifactId>guava</artifactId>
     <version>18.0</version>
</dependency>

Code:

import java.io.IOException;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

import com.google.common.collect.ImmutableMap;
import com.google.common.collect.MapDifference;
import com.google.common.collect.Maps;

public class App {

    public static void main(final String[] args) throws IOException {
        final Map<String, Integer> left = ImmutableMap.of("a", 1, "b", 2, "c", 3);
        final Map<String, Integer> right = ImmutableMap.of("b", 2, "c", 4, "d", 5);
        final MapDifference<String, Integer> diff = Maps.difference(left, right);
        System.out.println("Common");
        mapToString(diff.entriesInCommon());
        System.out.println("Only Left");
        mapToString(diff.entriesOnlyOnLeft());
        System.out.println("Only Right");
        mapToString(diff.entriesOnlyOnRight());
    }

    private static void mapToString(final Map<String, Integer> map) {
        final Set<Entry<String, Integer>> entrySet = map.entrySet();
        for (final Entry<String, Integer> entry : entrySet) {
            System.out.println(entry.getKey() + "=>" + entry.getValue());
        }
    }
}


Output:
Common
b=>2
Only Left
a=>1
Only Right
d=>5



Comments

Popular posts from this blog

How to Install SQL Server on MacOS with docker

 I'm writing a small tut for who need to install SQL Server on macOS using docker Step 1: Download the SQL Server Image sudo docker pull mcr.microsoft.com/mssql/server:2019-latest Step 2: Launch the SQL Server Image in Docker docker run -d --name example_sql_server -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Pass.word-123' -p 1433:1433 mcr.microsoft.com/mssql/server:2019-latest Step 3: Check the SQL Server Docker Container docker ps -a Step 4: Install SQL Server Command-Line Tool sudo npm install -g sql-cli Step 5: Connect to SQL Server  5.1 Using Command mssql -u sa -p Pass.word-123 5.2: Using VSCode to connect to sql server Using the extension SQL Server (mssql)

What is API Gateway?

  What does API gateway do? The diagram below shows the detail. Step 1 - The client sends an HTTP request to the API gateway. Step 2 - The API gateway parses and validates the attributes in the HTTP request. Step 3 - The API gateway performs allow-list/deny-list checks. Step 4 - The API gateway talks to an identity provider for authentication and authorization. Step 5 - The rate limiting rules are applied to the request. If it is over the limit, the request is rejected. Steps 6 and 7 - Now that the request has passed basic checks, the API gateway finds the relevant service to route to by path matching. Step 8 - The API gateway transforms the request into the appropriate protocol and sends it to backend microservices. Steps 9-12 : The API gateway can handle errors properly, and deals with faults if the error takes a longer time to recover (circuit break). It can also leverage ELK (Elastic-Logstash-Kibana) stack for logging and monitoring. We sometimes cache data in the API gatew...