当前位置: 首页 > 面试题库 >

字符串到HashMap JAVA

牛兴安
2023-03-14
问题内容

我有一个Java属性文件,并且有一个KEYas
ORDER。因此VALUE,在加载如下所示的属性文件后,我KEY使用getProperty()方法检索的::

String s = prop.getProperty("ORDER");

然后

s ="SALES:0,SALE_PRODUCTS:1,EXPENSES:2,EXPENSES_ITEMS:3";

我需要从上面的字符串创建一个HashMap。SALES,SALE_PRODUCTS,EXPENSES,EXPENSES_ITEMS应该是KEYHashMap中,并0,1,2,3,VALUEKEY秒。

如果是硬连线的,则如下所示:

Map<String, Integer> myMap  = new HashMap<String, Integer>();
myMap.put("SALES", 0);
myMap.put("SALE_PRODUCTS", 1);
myMap.put("EXPENSES", 2);
myMap.put("EXPENSES_ITEMS", 3);

问题答案:

将该String.split()方法与,分隔符一起使用,以获取对列表。迭代对,然后split()再次使用:分隔符以获取每个对的键和值。

Map<String, Integer> myMap = new HashMap<String, Integer>();
String s = "SALES:0,SALE_PRODUCTS:1,EXPENSES:2,EXPENSES_ITEMS:3";
String[] pairs = s.split(",");
for (int i=0;i<pairs.length;i++) {
    String pair = pairs[i];
    String[] keyValue = pair.split(":");
    myMap.put(keyValue[0], Integer.valueOf(keyValue[1]));
}


 类似资料:
  • 我有以下JSON字符串: 我只想要和。我试过这样的方法: 但我得到了以下错误: 我只使用过几次JSON。有人能帮我吗? 对我来说最好的例子是这样的,我在另一个例子中做过: 可能吗? 现在我已经做到了: 我试着这样做: 然后: 但现在当我做一个Prtinout时,我会得到和以前一样的错误:

  • 我试图获取任意长度的字符串[],并将其打印成字符串,最好使用字段分隔符。现在我有: 但是由于某种原因,它只是返回“第二个”值。我如何使它正确连接这些值? 另外,我可以使用来简化代码吗?谢谢

  • 问题内容: 我如何将字符串转换为? 我看过类似的例子: 但是我的字符串就像: 问题答案: 使用Joda Time时,应使用: 如果使用Java 8或更高版本,请参考hertzi的答案 java.time 从Java 1.8开始,您可以使用java.time类而无需额外的库来实现此目的。请参阅教程。

  • 问题内容: 我意识到这已经被问了很多。我确实看过。我花了几个小时环顾四周,并试图解决这个问题。我应该编写一个程序,该程序在数据库中存储相当于约会列表的内容,并包含描述,日期,开始时间和结束时间。它必须接受用户的输入才能添加或取消约会,据我所知,这意味着我需要将字符串转换为日期。 这些是我的导入:import java.io.File; 导入java.io.IOException; 导入java.s

  • 我遇到了这样一个java字符串,其中以下内容是错误的: 我想这是因为字符串构造函数默认将主体字节[]的编码视为UTF-8,我不是100%确定。我如何能够将此字符串存储在字节[]中,并能够稍后将其转换回来?我想我需要能够确定字节[]的编码方式。我该怎么做呢? 一些上下文:我需要字节[],以便压缩数据,将其存储在数据库中,然后解压缩并将未压缩的字节[]转换回原始字符串。这个字符串最初来自某个下载了网页

  • 问题内容: 我是Java新手,所以我几乎不需要帮助 我有 我想向此数组(脚本)添加新的字符串(string1,string2)作为示例 我想在以后的阶段中不添加新字符串 我该怎么办? 问题答案: 您无法在Java中调整数组的大小。 声明数组的大小后,它将保持固定。 相反,您可以使用具有动态大小的对象,这意味着您无需担心其大小。如果数组列表的大小不足以容纳新值,则它将自动调整大小。