java hash缓存_基于Java使用HashMap实现数据的缓存

1.最近任务需要将数据进行不断比较并输出数据,数据是多条,利用HashMap和List结合实现数据缓存。

代码如下:

public class MapTest {

private static HashMap> mapSave = new HashMap<>();

public static void main(String args[]) {

mapSave.clear();

List list = new ArrayList<>(); //不要将这句写在外面,不然会重复写入数据。

list.add("aaa");

list.add("bbb");

list.add("ccc");

list.add(3+"");

list.add(4+"");

list.add(5+"");

String key = Integer.toString(mapSave.size()); //当需要存入多组数据,且组数不知道的时候,可以直接用mapSave.size()替代。

mapSave.putIfAbsent(key,list); //将数据缓存进去,putIfAbsent是会对key进行排序。无排序可以使用mapSave.put(key,list);

if(mapSave!=null && mapSave.size()>0) {

Iterator>> it = mapSave.entrySet().iterator(); //利用迭代器循环输出

List field = new ArrayList<>();

List value = new ArrayList<>();

while (it.hasNext()) {

Map.Entry> entry=it.next();

System.out.println("key="+entry.getKey()+","+"value="+entry.getValue());

field.add(entry.getKey().toString());

value.add(entry.getValue().toString());

}

System.out.println("keyList="+field+","+"valueList="+value); //输出为List类型

}

}

}

结果:  key=0,value=[aaa, bbb, ccc, 3, 4, 5]  keyList=[0],valueList=[[aaa, bbb, ccc, 3, 4, 5]]

2.如果是当个数据缓存,实现起来就简单多了。

代码如下:

public class MapTest {

private static HashMap map = new HashMap<>();

public static void main(String args[]) {

int a;

map.clear();   //清空数据

if(map.isEmpty()){ //判断map是否有数据

a = 888;

map.put("first",a);

map.get("first");

}

System.out.println(map.get("first"));

}

结果:888

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值