字符串向Map中赋值的问题

问题描述

现有一个map,一个字符串,结构如下,map中的key在字符串中可以一一对应问题是,将字符串的值对应map中的key进行赋值操作,最快的方法是什么?(字符串很长,里面的标签项过万)Map{a:123b:456c:789......zzz:194}String{a:55,b:66,c:77......zzz:999}

解决方案

解决方案二:
newMap时候传一个合适的大小,比如预估数据量是1024,然后Mapmap=newHashMap(1024);这样可以防止,map在put过程中因为容量不够,而重新分配空间,这个是很慢的。
解决方案三:
引用1楼xuxiaolei的回复:

newMap时候传一个合适的大小,比如预估数据量是1024,然后Mapmap=newHashMap(1024);这样可以防止,map在put过程中因为容量不够,而重新分配空间,这个是很慢的。

map中的内容是固定的,所以不用考虑初始化的问题,我现在只考虑赋值的问题,现在赋值速度很慢,有没有其他办法能提高赋值效率?
解决方案四:
分为两组会不会快一点啊{a,b,c...zzz}{55,66...}
解决方案五:
引用3楼u012355452的回复:

分为两组会不会快一点啊{a,b,c...zzz}{55,66...}

能说说具体的思路吗?
解决方案六:
你直接转成Json用不就好了应该不慢的

时间: 2025-01-19 20:29:32

字符串向Map中赋值的问题的相关文章

汉字得出对应的拼音;通过拼音查找map中的汉字,逆向map多个装成list

需要用到Pingyin4j.jar import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType; import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; im

JSON数组形式字符串转换为Map数组(转为其他的Bean的话,请参考自行变形)

本文用的是阿里巴巴封装的FastJSON来转换JSON数组形式字符串.请看例子: package com.zkn.newlearn.json; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import java.util.List; import java.util.Map; /** * Created by zkn

python使用正则搜索字符串或文件中的浮点数代码实例_python

用python和numpy处理数据次数比较多,写了几个小函数,可以方便地读写数据: # -*- coding: utf-8 -*- #---------------------------------------------------------------------- # FileName:gettxtdata.py #功能:读取字符串和文件中的数值数据(浮点数) #主要提供类似matlab中的dlmread和dlmwrite函数 #同时提供loadtxtdata和savetxtdata函

C字符串与C++中string的区别详解_C 语言

在C++中则把字符串封装成了一种数据类型string,可以直接声明变量并进行赋值等字符串操作.以下是C字符串和C++中string的区别:  C字符串 string对象(C++) 所需的头文件名称  <string>或<string.h> <string>或<string.h> 需要头文件 原因 为了使用字符串函数 为了使用string类 声明 方式 char name[20]; string name; 初始化方式 char name[20]="

Java编程之Map中分拣思想。

题目:给定一个字符串,求出字符串中每一个单词在字符串中出现的次数 旨意:map的分拣思想.   每一个key的包装类,存放出现的次数 1 /** 2 * 作为包装类,用来存放英文单词,和该英文单词出现的次数 3 * @ClassName: Str 4 * @Description: TODO(这里用一句话描述这个类的作用) 5 * @author 尚晓飞 6 * @date 2014-7-30 下午6:57:29 7 * 8 */ 9 public class Str { 10 private

asp.net水晶报表参数字段在代码中赋值的方法

  本文实例讲述了asp.net水晶报表参数字段在代码中赋值的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 // 声明将参数传递给查看器控件所需的变量. ParameterFields paramFields = new ParameterFields (); ParameterField paramField = new Parameter

java8 使用Map中的computeIfAbsent方法构建本地缓存,提高程序效率

一.概念及使用介绍       在JAVA8的Map接口中,增加了一个方法computeIfAbsent,此方法签名如下: public V computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction)      Map接口的实现类如HashMap,ConcurrentHashMap,HashTable等继承了此方法,通过此方法可以构建JAVA本地缓存,降低程序的计算量,程序的复杂度,使代码简洁,易懂.    

java map中遍历和list

问题描述 java map中遍历和list map.put(""k_""+entryt.getKey() list);怎么只输出10条数据 解决方案 Iterator it=map.keySet().iterator();int i=1: while(it.hasNext()){if(i>10){break;}System.out.println(""键:""+it.next()) i++; } 解决方案二: Map&l

java 二维字符串数组初始化及赋值问题

问题描述 java 二维字符串数组初始化及赋值问题 错误是"{ expected after token ; "请问为什么会出现这样的错误,该怎么解决? 解决方案 第一句话没错,第二句话,要放到具体的方法内,比如构造函数里,不要放到类一层的地方 解决方案二: 你确定有报错?我像这样写都没有报错! 解决方案三: java字符串数组初始化和赋值