随笔 - 832  文章 - 2  评论 - 31  阅读 - 167万

java集合 list、set、map能否存储null

java集合能否存储null

复制代码
package com.idea.test.nulltest;

import jxl.common.Assert;

import java.util.*;
import java.util.concurrent.ConcurrentHashMap;

public class NullTest {
    public static void main(String[] args) {
        List list = new ArrayList();
        list.add(null);
        list.add(null);
        System.out.println("ArrayList :"+list.size());   //2


        List linkedList = new LinkedList();
        linkedList.add(null);
        linkedList.add(null);
        System.out.println("LinkedList :"+linkedList.size());  //2



        Set set=new HashSet();
        set.add(null);
        set.add(null);
       System.out.println("HashSet :"+set.size());// 1

        Set linkedHashSet=new LinkedHashSet();
        linkedHashSet.add(null);
        linkedHashSet.add(null);
        System.out.println("LinkedHashSet :"+linkedHashSet.size()); //1

        Set treeSet=new TreeSet();
        //treeSet.add(null);   //treeSet key不能null ava.lang.NullPointerException
        //treeSet.add(null);
       // System.out.println("TreeSet : "+treeSet.size());

        HashMap<String,String> map = new HashMap<>();
        map.put(null,null);
        map.put("liubei",null);
        System.out.println("HashMap :"+map.size());// 2

        LinkedHashMap linkedHashMap = new LinkedHashMap();
        linkedHashMap.put(null,null);
        linkedHashMap.put("liubei",null);
        System.out.println("LinkedHashMap :"+linkedHashMap.size()); //2



        TreeMap treeMap= new TreeMap<>();
        treeMap.put("liu",null);   //treeMap key  不能为空,value 可以为空
        //treeMap.put(null,"liubei");
        //treeMap.put(null,null);
        System.out.println("TreeMap :"+treeMap.size());


        Hashtable table=new Hashtable();
        //table.put("liu",null);  
        //table.put(null,"关羽");    //hashtable key与value均不能为空
        table.put(null,null);
        System.out.println("Hashtable"+table.size());


        ConcurrentHashMap concurrentHashMap=new ConcurrentHashMap();
        //concurrentHashMap.put("liu",null);    //concurrentHashmap key 与 value 均不可以为空
        //concurrentHashMap.put(null,"zhangfei");
        System.out.println("ConcurrentHashMap :"+concurrentHashMap.size());
    }

}



复制代码

 

综上所述可以得出结论:

1、vector、arraylist、linkedlist可以存储多个null.

2、hashset、linkedset可以存储一个null. treeset不能存储null.

3、hashmap 、linkedhashmap  key与value均可以为null.  treemap  key不可以为null,value可以为null.  hashtable、concurrenthashmap key与value均不能为null.

posted on   小破孩楼主  阅读(9115)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示