=== 字典序列列化 ===

发布时间:2025-01-17 22:26

如何快速记忆数字序列 #生活技巧# #工作学习技巧# #数字技能学习#

=== 字典序列列化 ===

最新推荐文章于 2023-12-25 17:40:54 发布

happy fox 于 2018-09-25 21:17:17 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

 如图 

我们程序中⽤用到了了⼀一个数组 a ,数组的每个元素都是⼀一个字典(map/dict)。

字典的 key/value 都是字符串串,字符串串中可包含任意字符。

示例例:

a[0]["k1"] = "v1"

a[0]["k2"] = "v2"

a[1]["A"] = "XXX"

...

实际使⽤用过程中,我们⾃自定义了了⼀一个基于字符串串的存储结构,数组元素之间⽤用“换⾏行行”分割,

字典元素之间使⽤用“分号”分割, key/value 之间⽤用“等号”分割。

上述数据序列列化之后,应该得到⼀一个字符串串:

"k1=v1;k2=v2\nA=XXX"

请实现⼀一个“保存”函数、⼀一个“加载”函数。

text = store(a); //把数组保存到⼀一个字符串串中

a = load(text); //把字符串串中的内容读取为字典数组

请考虑所有边界情况,不不要出现bug。在满⾜足上述需求的前提下,可⾃自⾏行行增加⼀一些规则和约

定。

java 实现 

import java.util.ArrayList;

import java.util.HashMap;

import java.util.Map;

public class DictArray extends ArrayList<Map<String,String>> {

private static final long serialVersionUID = -546082353499911945L;

public static void main(String[] args) {

DictArray dictArr = new DictArray();

Map<String,String > element = new HashMap<>();

element.put("k1", "v1");

element.put("k2", "v2");

dictArr.add(element);

element = new HashMap<>();

element.put("A", "XXX");

dictArr.add(element);

String rt = dictArr.store();

DictArray loadDict = dictArr.load(rt);

}

public String store() {

String str = "";

for(int i=0;i<this.size();i++) {

Map<String,String> item = this.get(i);

for(Map.Entry<String, String> entry:item.entrySet()){

String k = entry.getKey();

String v = entry.getValue();

str += (k + "="+v+";");

}

str = str.substring(0, str.length()-1);

str+="\\n";

}

str = str.substring(0, str.length()-2);

System.out.println("结果为----> "+str.toString());

return str;

}

public DictArray load(String dictArrayText) {

String elements[] = dictArrayText.split("\\\\n");

DictArray dictArr = new DictArray();

for(String element:elements) {

String kvs[] = element.split(";");

Map<String,String> dic = new HashMap<>();

for(String kv:kvs) {

String kvPair[] = kv.split("=");

dic.put(kvPair[0], kvPair[1]);

}

dictArr.add(dic);

}

return dictArr;

}

}

网址:=== 字典序列列化 === https://www.yuejiaxmz.com/news/view/727767

相关内容

python知识快速补充4——集合,序列(元组,列表,字符串),字典说它们想一起学
Python列表嵌套字典转化问题
【python 让繁琐工作自动化】第5章 字典和结构化数据
python 列表转为字典的两个小方法
Python 字典 使用技巧
matlab计算周期序列的dfs,求出周期序列=[…,0,1,2,3,0,1,2,3,…}的周期序列的DFS。...
3S智慧独特永续创新厨具技术联盟徐祥祯义守大学机械与自动化工程学.PDF
python查询数据库返回字典
python zip 快速生成字典
Python数值类型与序列类型

随便看看