TreeMap、TreeSet
来源:互联网 发布:电信网络限制 编辑:程序博客网 时间:2024/05/18 17:03
特例说明:
TreeMap、TreeSet两个类在加入第二个元素时,会调用Comparator比较器比较先后加入的元素是否重复(TreeMap比较的是Key值)。所以当加入第一个元素时,即使第一个元素是null,也不会报错,因为此时不会调用比较器,再次加入元素则报错。
已测试的其他集合类HashSet / HashMap / ArrayList / LinkedList均可接受null值。
- package com.java1029.collection;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.HashSet;
- import java.util.LinkedList;
- import java.util.List;
- import java.util.Map;
- import java.util.Set;
- import java.util.TreeMap;
- import java.util.TreeSet;
- public class TestNull {
- public static void main(String[] args) {
- //HashMap 允许null-null键值对
- Map<String,String> hashMap = new HashMap<String,String>();
- hashMap.put("11", "ddd");
- hashMap.put("1233", null);
- hashMap.put(null, "wang");
- hashMap.put(null, null);
- System.out.println("HashMap以上代码运行成功");
- //TreeMap 允许value值为null,不允许key值为null
- TreeMap<String,String> treeMap = new TreeMap<String,String>();
- //Map放入第一个元素时不会调用比较器,所以不会调用比较器,不会出现NullPointerException
- //以下一行代码执行时不会报错,但当treeMapp中放入元素大于1时,就会调用比较器,出现NullPointerException
- // treeMap.put(null, null);
- treeMap.put("ddd", null);
- treeMap.put("sss", null);
- System.out.println("TreeMap以上代码运行成功");
- //HashSet
- Set<String> hashSet = new HashSet<String>();
- hashSet.add(null);
- hashSet.add("ddd");
- System.out.println("HashSet以上代码运行成功");
- //TreeSet
- Set<String> treeSet = new TreeSet<String>();
- //以下两行代码执行时,会报错。理由同TreeMap
- //treeSet.add(null);
- treeSet.add("sss");
- System.out.println("TreeSet以上代码运行成功");
- //ArrayList
- List<String> arrayList = new ArrayList<String>();
- arrayList.add(null);
- arrayList.add("dd");
- System.out.println("ArrayList以上代码运行成功");
- //LinkedList
- List<String> linkedList = new LinkedList<String>();
- linkedList.add(null);
- linkedList.add("ddd");
- System.out.println("LinkedList以上代码运行成功");
- }
- }
- 来源: <http://blog.csdn.net/ml1990s/article/details/11649237>
0 0
- TreeMap、TreeSet
- TreeMap和TreeSet
- HashSet, TreeSet, HashMap, TreeMap
- TreeMap和TreeSet
- TreeMap and TreeSet
- TreeMap和TreeSet
- Java TreeMap/TreeSet
- TreeMap和TreeSet
- TreeSet与TreeMap
- TreeMap和TreeSet
- TreeSet和TreeMap排序
- java TreeMap和TreeSet
- 《java集合》--TreeMap、TreeSet
- TreeSet和TreeMap
- java容器类---TreeMap、TreeSet
- TreeSet和TreeMap实现排序
- java之TreeMap/TreeSet篇
- JAVA集合容器----TreeMap、TreeSet
- 论移动端Hybid开发
- google退单问题(草稿)
- 深入分析 Java I/O 的工作机制
- 2017企业专利申请的步骤是什么?专利申请流程有哪些?
- 移动app测试中的基本要求
- TreeMap、TreeSet
- WebView小知识点记录
- 【Leetcode】74. Search a 2D Matrix
- Exception sending context initialized event to listener instance of class org.springframework.web.co
- Java面试之垃圾回收总结
- class文件JDK版本查看
- resultMap 多对多查询
- 自定义圆内套三角形
- ORACLE 学习笔记 -->存储过程,游标等