Java Top.

使用Spring 5和Spring Boot 2开始,通过学习春天课程:

>>查看课程

1.概述

在本教程中,我们将专注于转换地图到A.细绳而另一种方式。

首先,我们将看到如何使用核心Java方法来实现这些,然后我们将使用一些第三方库。

2.基本地图例子

在所有示例中,我们将使用它地图执行:

映射<整数,字符串> wlatesbykey = new hashmap <>();wordsbykey.put(1,“一个”);WordsBykey.put(2,“二”);wordsbykey.put(3,“三”);wordsbykey.put(4,“四”);

3.转换A.地图到A.细绳通过迭代

让我们迭代我们的所有钥匙地图而且,对于每个人,将密钥值组合附加到我们的结果StringBuilder.目的。

为了格式化目的,我们可以将结果包装在Crly括号中:

公共字符串ConvertWithIneration(Map 地图){StringBuilder mapasstring = new StringBuilder(“{”);for(整数键:map.keyset()){mapasstring.append(key +“=”+ map.get(key)+“,”);mapasstring.delete(mapasstring.length() -  2,mapasstring.length())。附加(“}”);return rapasstring.tostring();}

检查我们是否转换了我们的地图正确,让我们运行以下测试:

@test public void给gentmap_whenusing erieteration_thenresultingstringiscorctorce(){string mapasstring = maptostring.convertwithIneration(wordsbykey);assert.assertequals(“{1 = 1,2 = 2,3 =三,4 =四}”,mapasstring);}

4.转换A.地图到A.细绳使用Java Streams.

要使用Streams执行转换,我们首先需要从可用的可用流中创建流地图钥匙。

其次,我们正在将每个关键映射到人类可读细绳。

最后,我们正在加入这些值,并且为了方便起见,我们正在使用一些格式化规则收藏家.joining()方法:

公共字符串ConvertWithStream(Map 地图){String mapasstring = map.keyset()。stream().map(key  - > key +“=”+ map.get(key)).collect(收集器.joining(“,”,“{”,“}”));返回mapasstring;}

5.把一个地图到A.细绳使用郭瓦

让我们补充一下郭瓦进入我们的项目,看看我们如何在单行代码中实现转换:

<依赖项>  com.google.guava   GUAVA   27.0.1-JRE  

使用番石榴执行转换木匠类,我们需要在不同之间定义一个分隔符地图键和值之间的条目和分隔符:

公共字符串convertwithguava(map <整数,}

6.把一个地图到A.细绳使用Apache Commons.

使用Apache Commons.,让我们先添加以下依赖:

<依赖项>  org.apache.commons   Commons-Collections4   4.2  

加入非常简单 - 我们只需要拨打电话stringutils.join.方法:

公共字符串ConvertWithapache(地图地图){return stringutils.join(地图);}

一个特别的提及去了debugpretpt.Apache Commons中可用的方法。它对于调试目的非常有用。

当我们打电话的时候:

maputils.debugpretprint(system.out,“作为字符串”,wordsbykey);

调试文本将被写入控制台:

映射为string = {1 =一个java.lang.string 2 =两个java.lang.string 3 =三个java.lang.string 4 =四java.lang.string} java.util.hashmap

7.转换A.细绳到A.地图使用流

从a执行转换细绳到A.地图,让我们定义拆分的位置以及如何提取键和值:

public Map convertWithStream(String mapAsString) {Map Map = array .stream(mapAsString.split(",")) . Map (entry -> entry.split("=")) .collect(收藏家。toMap(entry -> entry[0], entry -> entry[1]);返回地图;}

8.转换A.细绳到A.地图使用郭瓦

以上更紧凑的版本是依靠番石榴来在一行流程中为我们进行拆分和转换:

公共映射 convertwithguava(string mapasstring){return splitter.on(',')。用keyvaluesperator('=')。拆分(mapasstring);}

9.结论

在本教程中,我们看到了如何转换a地图到A.细绳而另一种方式使用核心Java方法和第三方库。

可以找到所有这些示例的实现在GitHub

Java底部

使用Spring 5和Spring Boot 2开始,通过学习春天课程:

>>查看课程
评论在本文上关闭!