基本上我有两个字符串数组。其中一个String包含一个数字,第二个字符串包含文本和数字。
我怎么能将这些匹配在一起呢?
示例:
private String[] StringArray1 = {"5648", "4216", "3254", "2541", "10"};
private String[] StringArray2 = {"Derp: 10", "Herp: 3254", "peter: 2541", "jdp: 4216", "dieter: 5648"};
输出应为:
dieter: 5648
jdp: 4216
Herp: 3254
peter: 2541
Derp: 10
好吧,我想要的只是为StringArray2排序值,所以它从最高点开始,然后我可以打印出来。
答案 0 :(得分:0)
如果将第二个数组转换为MAP然后您可以轻松完成任务将会很好。键将是数字和值将是MAP中数组的文本
答案 1 :(得分:0)
使用HashMap
:
HashMap<String,String> hashMap = new HashMap<String,String>();
String[] string1 = {"5648", "4216", "3254", "2541", "10"};
String[] string2 = {"Derp: 10", "Herp: 3254", "peter: 2541", "jdp: 4216", "dieter: 5648"};
for (String str : string2)
{
String[] keyVal = str.split(": ");
hashMap.put(keyVal[1],keyVal[0]);
}
for (String key : string1)
{
String val = hashMap.get(key);
System.out.println(val+": "+key);
}
答案 2 :(得分:0)
使用Map是一个很好的解决方案。
例如:
Map<String, Integer> data = new HashMap<String, Integer>();
data.put("Herp", 3254);
data.put("peter", 2541);
//...
for (String name: data.keySet()) {
System.out.println(name + ": " + data.get(name) );
}
是的,如果此数据是您的输入,请按照上一个答案中的说明收集地图。但如果可能的话,最初使用地图。