JAVA中哪些集合允许key为null

Hashtable(k,v都不允许为null)、ConcurrentHashTable(k,v都不允许为null),ConcurrentHashMap(k,v都不允许为null),TreeMap不允许key为null,但是value可以为null。TreeSet不能为null,因为要排序

HashSet 、HashMap 、 ArrayList 、 LinkedList均可接受null值(有key的指的是key)

HashMap允许value为null,ArrayList允许多个null值,HashSet允许单个null值

public static void main(String[] args) {
    /*  TreeMap<Object, Object> map = new TreeMap<>();
        map.put(null, 1);*/
    /*  TreeSet<Object> objects = new TreeSet<>();
        objects.add(null);*/
    /*  ConcurrentHashMap<Object, Object> a = new ConcurrentHashMap<>();
        a.put(null, 1);*/
    /* Hashtable<String, String> hashtable = new Hashtable<>();   
     hashtable.put(null, null); */

    HashSet<Object> objects1 = new HashSet<>();
    objects1.add(null);
    System.out.println(objects1.size());

    HashMap<Object, Object> objectObjectHashMap = new HashMap<>();
    objectObjectHashMap.put(null, 1);
    System.out.println(objectObjectHashMap.size());

    ArrayList<Object> objects = new ArrayList<>();
    objects.add(null);
    System.out.println(objects.size());

    LinkedList<Object> objects2 = new LinkedList<>();
    objects2.add(null);
    System.out.println(objects2.size());			//长度为1

    System.out.println(objects2.get(0));			//值为null

}
posted @ 2025-08-27 16:49  朝阳1  阅读(9)  评论(0)    收藏  举报