[英]Assigning values to Map (Hashmap or Multimap)
我有一张地图:
HashMap<String, ArrayList<Integer>> hashmap = new HashMap<String, ArrayList<Integer>>();
从远程数据库服务器检索数据后,我正在创建一个hashmap :(在eclipse中输出)
{newcomer=[23, 78, 118, 155, 240, 244], zoom=[213], profession=[8, 10, 12, 13, 15]}
现在,我担心的是,连接服务器和下载数据花费了太多时间。 数据大小超出了我的耐心范围。 有什么办法,我可以将值直接存储在Hashmap变量中(就像我们对普通变量所做的那样,int i = 5);
通常,我该如何做(就像我在Python中一样):
hashmap = {newcomer=[23, 78, 118, 155, 240, 244], zoom=[213], profession=[8, 10, 12, 13, 15]}
我最近切换到了番石榴,我也可以做这个Multimap吗? 我现在想分配的值是一个字符串,因此分配可能比我想的要复杂得多。
编辑1 :我只需要出于开发目的。 应用程序上线后,将重新连接到数据库服务器。
编辑2 :目前我有将近50k对,因此不能单独添加。 可能,为了发展,我可以将清单缩小到100个项目,但是要逐个列出每个项目也需要人工。
编辑3 :我知道我们可以通过某种方式找出更完美的数据库来快速执行。 我只需要弄清楚是否可以分配? 否则,我要进行本地设置。
Java无法进行Map
的内联初始化。 但是,对于您而言,这并不重要-随着数据量的增加,您通过代码填充“地图”要么意味着数小时(或数天)的高度重复且极易出错的手动输入,要么编写了代码生成器:
我目前有将近5万对,因此不能单独添加。
而且,无论如何,如果您编写代码生成器,则生成一个内联初始化程序或加载Map#put()
语句都没关系。
但是,无论如何在这种情况下,代码的生成/初始化当然是一个错误的选择。 更好的解决方案将是(按使用率递减排序):
ObjectOutputStream
),然后从那里反序列化。 除非证明上述所有内容无效,否则我什至不会考虑在代码中初始化这种大小的数据结构。 这是极不可能的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.