Java集合类学习总结
来源:互联网 发布:数据统计专业哪里把 编辑:程序博客网 时间:2024/04/28 19:06
Java的集合类分为两个类型,Collection和Map,Collection又分为Set和List。
1. 集合类中元素是否相同
HashSet使用equals和HashCode两个函数共同决定
TreeSet使用comparable接口中的compareTo,或者comparator中的compare函数
ArrayList使用equals函数
HashMap中的key和HashSet相同,value使用equals函数
TreeMap中的key和TreeSet相同,value使用equals函数
2. 集合中是否可以包含null,或者重复的元素
HashSet 可以包含null,不能包含重复元素
TreeSet 同HashSet,可以包含一个null,加入第二个null会引发异常
ArrayList 可以包含null,也能包含重复元素
HashMap中的key和HashSet相同,value可以包含多个null
TreeMap中的key和TreeSet相同,value可以包含多个null
3. 关于contains和remove函数
HashSet,TreeSet,ArrayList 可以使用如下的函数来判断是否包含一个元素,或者删除一个元素
boolean contains(Object o)
boolean remove(Object o)
HashMap,TreeMap有如下函数:
boolean containsKey(Object key)
boolean containsValue(Object key)
boolean remove(Object key)
在这些函数的实现中,都需要调用equals方法,那么是调用参数的equals方法(用集合中元素为equals函数参数)呢,还是调用每个元素的equals方法呢?
答案是调用参数的equals方法。以remove方法的实现为例
- public boolean remove(Object o) {
- if (o == null) {
- for (int index = 0; index < size; index++)
- if (elementData[index] == null) {
- fastRemove(index);
- return true;
- }
- } else {
- for (int index = 0; index < size; index++)
- if (o.equals(elementData[index])) {
- fastRemove(index);
- return true;
- }
- }
- return false;
- }
4. 集合类和Array
集合类Collection有Object[] toArray()函数,用于将集合转化为Array。
Arrays工具类提供了asList(Object... a)方法,用于将Array转化为ArrayList,注意这个是Arrays类的内部类,也继承自List,它的长度固定,和之前的ArrayList不同。
- java 集合类学习总结
- Java集合类学习总结
- java集合学习总结
- java集合学习总结
- Java集合学习总结
- Java学习总结2---Java集合类
- 【Java学习笔记】Java集合类总结
- Java学习总结5---集合类补充
- java 集合类的学习总结
- java 集合框架学习总结
- Java集合框架学习总结
- Java 集合框架学习总结
- Java集合框架学习总结
- JAVA集合框架学习总结
- JAVA并发集合学习总结
- JAVA学习之集合总结
- Java数据集合-学习总结
- Java集合框架学习总结
- 详解括号匹配问题(STL stack)
- VS自定义工程向导开发(Custom Wizard)
- eWebEditor的使用
- /bin/bash^M: bad interpreter: 没有那个文件或目录
- JEE学习笔记之Tomcat中server.xml文件内各节点详解(一)
- Java集合类学习总结
- C#关于中国式的四舍五入
- SVN无法提交-RA layer request failed的解决方法
- Ubuntu 12.04 64bit GCC交叉编译器制作 原创
- mySQL常用语句
- OJ 72之Optimal Services
- CentOS6.4下Mysql数据库的安装与配置
- https原理及tomcat配置https方法
- 阅高质量C++/C 编程——知识小结