使用String和Int值配对实现列表

时间:2012-11-24 18:34:27

标签: java arraylist

当一对元素中的一个元素作为空值输入时,ArrayList如何反应?

我的目的是为课程和这些课程的分数创建一个列表,但我想知道如果我们不输入课程分数会发生什么。会抛出异常还是只在该元素位置留下一个空值?

2 个答案:

答案 0 :(得分:1)

ArrayList支持null值,但您可以尝试Apache公共集合库的ListUtils#predicatedList,其中返回由给定列表支持的谓词列表。只有通过给定谓词中的测试的对象才能添加到列表中。重要的是在调用此方法后不使用原始列表,因为它是添加未经验证的对象(如null)的后门。

ListUtils.predicatedList(new ArrayList(), PredicateUtils.notNullPredicate());

此处返回列表将由ArrayList支持,并且不支持null值。

答案 1 :(得分:1)

列表中没有“对” - 我认为您的意思是Map,而不是List。列表具有单个值,映射具有对。

地图可以为给定密钥设置空值。

Map<String, Integer> coursePoints = new HashMap<String, Integer>();
coursePoints.put("ABC001", 5);
coursePoints.put("XYZ002". null); // OK
相关问题