gpt4 book ai didi

java - 无法创建 map 的 map

转载 作者:行者123 更新时间:2023-12-01 12:45:09 24 4
gpt4 key购买 nike

我正在尝试在java中创建map的 map ,以便通过读取unix命令行输出来显示所有pri状态。

这是我的代码

import java.io.*;
import java.util.StringTokenizer;
import java.util.HashMap;
import java.util.Map;
import java.util.Iterator;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.*;
public class HelloWorld {
public static void main(String args[]) {

String s = null;

try {

Process p1 = Runtime.getRuntime().exec( new String[] {"asterisk", "-rx", "pri show spans"});
BufferedReader stdInput = new BufferedReader(new
InputStreamReader(p1.getInputStream()));
Map mainpri = new HashMap();
BufferedReader stdError = new BufferedReader(new
InputStreamReader(p1.getErrorStream()));
int count = 1;
while ((s = stdInput.readLine()) != null) {
if(count > 2)
{
//Map pristatus = new HashMap();
Hashtable<Integer, String> sourceone = new Hashtable<Integer,String>();
HashMap<Integer, String> pristatus = new HashMap(sourceone);

System.out.println(s);
StringTokenizer st = new StringTokenizer(s);
int nextcount = 1;
while (st.hasMoreTokens()) {
if(nextcount == 1){
pristatus.put(1, st.nextToken());

}
else if(nextcount == 2){
pristatus.put(2, st.nextToken());

}
else if(nextcount == 3){
pristatus.put(3, st.nextToken());
}
else if(nextcount == 4){
pristatus.put(4, st.nextToken());

}
else{
pristatus.put(5, st.nextToken());

}

nextcount ++ ;

}
mainpri.put(1,pristatus);
System.out.println(mainpri);

}
count ++;
}

while ((s = stdError.readLine()) != null) {
System.out.println(s);
}

System.exit(0);
}
catch (IOException e) {
System.out.println("exception happened - here's what I know: ");
e.printStackTrace();
System.exit(-1);
}
}
}

生成 pristatus 映射后,我尝试在 mainpri 映射中以键值的形式添加该值

但是我上面的代码总是不添加数据

{1={1=PRI, 2=span, 3=1/0:, 4=Up,, 5=Active}}
{1={1=PRI, 2=span, 3=2/0:, 4=In, 5=Active}}
{1={1=PRI, 2=span, 3=3/0:, 4=In, 5=Active}}
{1={1=PRI, 2=span, 3=4/0:, 4=In, 5=Active}}

但我希望它出现在

{1={1=PRI, 2=span, 3=1/0:, 4=Up,, 5=Active},
{2={1=PRI, 2=span, 3=2/0:, 4=In, 5=Active},
{3={1=PRI, 2=span, 3=3/0:, 4=In, 5=Active},
{4={1=PRI, 2=span, 3=4/0:, 4=In, 5=Active}}

我是从 python 转为 java 开发人员,所以我无法弄清楚我读过有关 Hastable 的内容,但这不起作用。

请帮帮我,我可能做错了什么。

最佳答案

您应该更改此行:

mainpri.put(1,pristatus);

至:

mainpri.put(count, pristatus);

当您想要更改 map 键时。

关于java - 无法创建 map 的 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24775557/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com