Java 哈希表键和值存储在单独的数组列表中

Java 哈希表键和值存储在单独的数组列表中,java,arrays,hashtable,Java,Arrays,Hashtable,java代码 Hashtable<String, Integer> gettingStatus = searchActiveAssetStatus(); ArrayList<String> statusValue = new ArrayList<String>(); ArrayList<String> statusCount = new ArrayList<String>(); Set&l

java代码

Hashtable<String, Integer> gettingStatus = searchActiveAssetStatus();
        ArrayList<String> statusValue = new ArrayList<String>();
        ArrayList<String> statusCount = new ArrayList<String>();
        Set<String> keys = gettingStatus.keySet();

        for (String key : keys) {
            if (key.contains("Active")) {
                statusValue.add(key);               
            }

            if (key.contains("Abandoned")) {
                statusValue.add(key);
            }

            if (key.contains("Deleted")) {
                statusValue.add(key);
            }
            }
Hashtable gettingStatus=searchActiveAssetStatus(); ArrayList statusValue=新建ArrayList(); ArrayList statusCount=新建ArrayList(); Set keys=gettingStatus.keySet(); 用于(字符串键:键){ 如果(键包含(“活动”)){ statusValue.add(键); } 如果(键包含(“放弃”)){ statusValue.add(键); } if(key.contains(“已删除”)){ statusValue.add(键); } }
对于以上内容,我已将键存储在一个单独的数组列表(可用)中,同时如果该键存在于哈希表中,我希望将该对应键的值存储在另一个数组列表(statusCount)中。如何?

您可以使用
entrySet()
方法,而不是
keySet()
方法:

Set<Entry<String, Integer>> entries = gettingStatus.entrySet();

for (Entry<String, Integer> entry : entries) {
    String key = entry.getKey();
    Integer value = entry.getValue();

    if (key.contains("Active")) {
        statusValue.add(key);
        // Store value               
    }

    if (key.contains("Abandoned")) {
        statusValue.add(key);
        // Store value               
    }

    if (key.contains("Deleted")) {
        statusValue.add(key);
        // Store value               
    }
}
Set entries=gettingStatus.entrySet();
对于(条目:条目){
String key=entry.getKey();
整数值=entry.getValue();
如果(键包含(“活动”)){
statusValue.add(键);
//存储值
}
如果(键包含(“放弃”)){
statusValue.add(键);
//存储值
}
if(key.contains(“已删除”)){
statusValue.add(键);
//存储值
}
}

如果我答对了您的问题,您只需询问相应键的值并将其放入列表:

    Hashtable<String, Integer> gettingStatus = searchActiveAssetStatus();
    ArrayList<String> statusValue = new ArrayList<String>();
    ArrayList<String> statusCount = new ArrayList<String>();
    Set<String> keys = gettingStatus.keySet();
    for (String key : keys) {
        if (key.contains("Active") || key.contains("Abandoned") || key.contains("Deleted")) {
            statusValue.add(key);
            statusCount.add(gettingStatus.get(key).toString());
        }
    }
Hashtable gettingStatus=searchActiveAssetStatus(); ArrayList statusValue=新建ArrayList(); ArrayList statusCount=新建ArrayList(); Set keys=gettingStatus.keySet(); 用于(字符串键:键){ if(key.contains(“活动”)| | key.contains(“放弃”)| | key.contains(“删除”)){ statusValue.add(键); statusCount.add(gettingStatus.get(key.toString()); } }
或者正如Benjamin所说,只需使用
entrySet()
,这会更简单。

需要更多的细节,无法得到您真正想要的。@yogesh:从该Hastable中,我想将Kay和值拆分,并存储在一个单独的arraylist中,从上面的键值存储在一个单独的数组中,无法将相应的值存储到另一个arraylist中