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
ifnull
,来区分null
和空ArrayList
sI会让它返回-1
ifnull
,区分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