把两个map中的key-value进行替换

public class Test {

private static Map<Object, Object> sourceMap = new HashMap<Object, Object>();

private static Map<Object, Object> targetmap = new HashMap<Object, Object>();

static {

sourceMap.put("source", "s");

targetmap.put("target", "t");

}

public static void main(String[] args) {

for (Entry<Object, Object> map : sourceMap.entrySet()) {

Object sourceKey = map.getKey();

Object sourceValue = map.getValue();

Object targetKey = Test.getconventKey(targetmap);

Object targetValue = Test.getconventValue(targetmap);

sourceMap.remove(sourceKey);

targetmap.remove(targetKey);

sourceMap.put(targetKey, targetValue);

targetmap.put(sourceKey, sourceValue);

for (Entry<Object, Object> map1 : sourceMap.entrySet()) {

Object sourceKey1 = map1.getKey();

Object sourceValue1 = map1.getValue();

System.out.println("sourceKey1=" + sourceKey1

+ ",sourceValue1=" + sourceValue1);

}

// 这个打印错误,正在分析中

System.out.println("sourceKey=" + sourceKey + ",sourceValue="

+ sourceValue + "\ntargetKey=" + targetKey

+ ",targatValue=" + targetValue);

}

}

private static Object getconventKey(Map<Object, Object> targetmap) {

Object key = null;

for (Entry<Object, Object> map : targetmap.entrySet()) {

key = map.getKey();

}

return key;

}

private static Object getconventValue(Map<Object, Object> targetmap) {

Object value = null;

for (Entry<Object, Object> map : targetmap.entrySet()) {

value = map.getValue();

}

return value;

}

}

时间: 2024-10-07 04:19:07

把两个map中的key-value进行替换的相关文章

在map中一个key中存多个值

一说到map都想到key-value键值队存在.key可以为最多一个null的key. 今天开发中一个业务需求,在map中一个key中存多个对象. 我首先想到Map<String,List>造型来解决.尤其是那种一对多的可以这么设计. Map<String,List> map = new HashMap<String,List>();//模型就是这么个. for(int i=0;i<listObj.size();i++){ key = listObj.getId(

获取map中根据key进行排序的value数据

今天做的项目中遇到了获取map中根据key进行排序的value数据,key中保存的内容是字符串类型.      map的知识点好久没用有点生疏,不知道怎么去使用.看看之前同事写的map根据key排序的代码,发现他是先把key都取出来封装到一个List中,然后用Collections.sort方法对List排序,按照排完序的顺序去除value顺序加入到一个新的List中.感觉此种方式的循环次数太多,于是上网找找能不能直接排序的方法,看见有人写直接保存到TreeMap中的数据就能实现按照进行排序的功

【基础】结构体重载,用 char*作为std::map中的key

结构体重载 C++中,结构体是无法进行==,>,<,>=,<=,!=这些操作的,这也带来了很多不方便的地方,尤其是在使用STL容器的时候,如果我们可以往语句中传入结构体,一些事情将会变得很简单. bool operator 运算符 (const 结构体名称 b) const { return(什么时候这个运算符对结构体成立);//注意对此运算符使用this->元素名: } 用 char*作为std::map中的key 首先为什么要用 char*作为std::map中的key

Golang对map中的key进行排序

package main import ( "fmt" "sort" ) func main() { //首先生成26个字母充当map中的key var a = 'a' var m map[string]int = make(map[string]int) for i := 0; i < 26; i++ { // fmt.Printf("%c", a) //%c 是输出字符 key := fmt.Sprintf("%c"

再谈序列化之rpc调用失败和jackson序列化时不允许Map中的key为null

最近遇到了两个序列化相关的问题,比较典型,备忘特此留笔. 1.rpc调用时未进行序列化而导致的rpc调用失败 使用dubbo框架在进行rpc调用的时候,出现了下面的问题,原因是因为接口参数中的NoSerialReqDto类没有实现Serializable接口,没有进行序列化导致的. Caused by: java.lang.IllegalStateException: Serialized class com.your.package.domain.NoSerialReqDto must imp

将Map中的key和values转化为List

在项目开发中,常常会用到Map,而map的存放是无序的,它存放的是键值对,也就是一个键对应一个值.有时需要将Map的key和value转化为List来进行相关的操作,现在通过实例来实现Map的key和value的转化. 代码如下: package com.example; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import

随机获取一个集合(List, Set)中的元素,随机获取一个Map中的key或value

利用Java提供的Random类.从List或Set中随机取出一个元素,从Map中随机获取一个key或value. 因为Set没有提供get(int index)方法,仅仅能先获取一个随机数后.利用一个计数器,对Set进行循环,当计数器等于随机数时返回当前元素,对于Map的处理也类似. 不知有没有更好的方法-- package com.xjj.util; import java.util.List; import java.util.Map; import java.util.Set; impo

golang中的slice翻转存在以及map中的key判断

//slice翻转 func stringReverse(src []string){ if src == nil { panic(fmt.Errorf("the src can't be empty!")) } count := len(src) mid := count/2 for i := 0;i < mid; i++{ tmp := src[i] src[i] = src[count-1] src[count-1] = tmp count-- } } //判断是否包含 f

MyBatis动态SQL使用,传入参数Map中的Key判断

<select id="" parameterType="Map" resultMap="commodityResultMap" > SELECT c.id c_id,c.variety_id,c.nickName c_nickName,c.description c_description,c.ordinaryPrice c_ordinaryPrice,c.memberPrice c_memberPrice,c.path c_pat