java打开获取数据的接口,保存到静态map里面,定时取出map的值进行保存

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java打开获取数据的接口,保存到静态map里面,定时取出map的值进行保存相关的知识,希望对你有一定的参考价值。

假如定义一个静态map, 保存输入的用户:
public static Map<String,String> cache = new HashMap<String,String>;
对方输入一次信息,记录某个数据map.put(name,);
然后定时去将map更新到数据库,
定时更新数据库为:每2分钟检查并更新一次
求代码实现

参考技术A java.util.Timer + TimeTask

java双循环list数据保存问题

代码如下,tindex里面和gs里面都是一个数组,现在的问题就是,第二次循环的时候,gslist里面的数据也会被刷新,不知道如何与list里面的数据绑定到一起。

TIndex[] tindex = teacherIS.getClassIndexsOfCurAcademicYearByTeacherId((int)session.getUserID());
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
for (int i = 0; i < tindex.length; i++)

Map<String, Object> map = new HashMap<String, Object>();//得到班级数据
map.put("className", tindex[i].getName());
map.put("classId", tindex[i].getID());
TClassExam[] gs = em.getClassExamsByClassId((int) tindex[i].getID());
System.out.println(gs.length);
List<Map<String, Object>> gslist = new ArrayList<Map<String, Object>>();
for (int j = 0; j < gs.length; j++)

Map<String, Object> mapgs = new HashMap<String, Object>();
mapgs.put("gsid",gs[j].getId());
mapgs.put("gsname", gs[j].getName());

setAttr("gslist", gslist);
list.add(map);

setAttr("myClassList", list);
意思就是说,有很多班级,然后要根据班级的id去得到考试的数据,tindex[i].getID()这个是班级的id gs 得到的是考试的数组,然后再得到考试数组里面的数据,

参考技术A 很简单啊。。可以将gslist设定为初始值为null的全局变量。然后再在用到它时给他赋值。本回答被提问者采纳 参考技术B 没详细看,但是你在循环里面不断的new东西当然就把前面插入的数据都清空了再重新new了!!追问

意思就是说,有很多班级,然后要根据班级的id去得到考试的数据,tindex[i].getID()这个是班级的id gs 得到的是考试的数组,然后再得到考试数组里面的数据,

参考技术C 你的问题表述不清楚,没明白你要做什么追问

意思就是说,有很多班级,然后要根据班级的id去得到考试的数据,tindex[i].getID()这个是班级的id gs 得到的是考试的数组,然后再得到考试数组里面的数据,

追答

你的mapgs不是已经得到结果了吗。。最终目的是啥额。。

参考技术D 把gslist的定义放到第一层循环的外面追问

如果定义到外面不是又会有多于的数据吗

以上是关于java打开获取数据的接口,保存到静态map里面,定时取出map的值进行保存的主要内容,如果未能解决你的问题,请参考以下文章

java基础- Collection和map

Map集合

java双循环list数据保存问题

Java静态方法获取所属类的信息

java里面的map是啥?

java关于集合框架,说法不正确的是( )