Java 计算LinkedHashMap中的键<;字符串,ArrayList<;字符串>&燃气轮机;

Java 计算LinkedHashMap中的键<;字符串,ArrayList<;字符串>&燃气轮机;,java,Java,假设我有这样的东西: LinkedHashMap <String, ArrayList<String>> h keyOne has stringOne stringTwo stringThree keyTwo has stringOne LinkedHashMap h 凯恩 斯特林格内 第二条 第三条 第二个键有 斯特林格内 如何计算关联键的ArrayList的大小?所以对于keyOne,它应该给我3。你可以只写h.get(key).size()你可以只写h.

假设我有这样的东西:

LinkedHashMap <String, ArrayList<String>> h 
keyOne has
stringOne 
stringTwo 
stringThree

keyTwo has
stringOne
LinkedHashMap h
凯恩
斯特林格内
第二条
第三条
第二个键有
斯特林格内

如何计算关联键的ArrayList的大小?所以对于keyOne,它应该给我3。

你可以只写
h.get(key).size()
你可以只写
h.get(key).size()

我应该这样做

应该这样做。

您是否尝试过:

ArrayList<String> tmp = h.get("keyOne");
if ( tmp != null ) {
    return tmp.size();
} else {
    return 0;
}
arraylisttmp=h.get(“keyOne”);
如果(tmp!=null){
返回tmp.size();
}否则{
返回0;
}
您是否尝试过:

ArrayList<String> tmp = h.get("keyOne");
if ( tmp != null ) {
    return tmp.size();
} else {
    return 0;
}
arraylisttmp=h.get(“keyOne”);
如果(tmp!=null){
返回tmp.size();
}否则{
返回0;
}

大小为零的现有ArrayList可能还应该打印“is empty”@Thilo不太可能,数组应该是空的,但映射不会。在我看来,它需要打印
0
。但这是品味的问题。很容易用另一个
if
子句修复。同意这是一个品味/要求的问题。大小为零的现有ArrayList可能也应该打印“is empty”@Thilo不太可能,数组应该是空的,但映射不会。在我看来,它需要打印
0
。但这是品味的问题。很容易用另一个
if
子句修复。同意这是一个品味/要求的问题。我会让它
return-1
if
null
,来区分
null
和空
ArrayList
sI会让它
返回-1
if
null
,区分
null
和空
ArrayList
s
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.Set;

public class Test {
    public static void main(String[] args) {
        LinkedHashMap<String, ArrayList<String>> h = new LinkedHashMap<String, ArrayList<String>>();
        ArrayList<String> al1 = new ArrayList<String>();
        al1.add("Value11");
        al1.add("Value12");
        al1.add("Value13");
        ArrayList<String> al2 = new ArrayList<String>();
        al2.add("Value21");
        h.put("key1", al1);
        h.put("key2", null);
        Set<String> set = h.keySet();
        for (String key : set) {
            ArrayList<String> al = h.get(key);
            if (al != null)
                System.out.println (key + " : " + al.size());
            else
                System.out.println (key + " is empty ");
        } 
    }
}
key1 : 3
key2 is empty