当一对元素中的一个元素作为空值输入时,ArrayList如何反应?
我的目的是为课程和这些课程的分数创建一个列表,但我想知道如果我们不输入课程分数会发生什么。会抛出异常还是只在该元素位置留下一个空值?
答案 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