详读List,Map源码心得笔记

来源:互联网 发布:timeline软件下载 编辑:程序博客网 时间:2024/06/06 05:30
初学Java时,接触得最早的就是List,Map,Set。进入工作后在程序中经常用到的有List和Map。今天闲来无事做,看看List和Map源码,记录一些学习笔记。
从代码上看 public interface List<E> extends Collection<E>,public interface Set<E> extends Collection<E>。List,Set接口是继承了Collection<E>接口。通过查看Collection类源码,发现里面定义了一些方法
int size()     查看当前容量,
boolean isEmpty()   判断是否为空,
boolean contains(Object o)  判断是否包含Object,
Iterator<E> iterator() 返回Iterator
Object[] toArray() 将list或者set转换成Object []数组
<T> T[] toArray(T[] a)将list或set转换成指定的数组类型
 boolean add(E e) 添加
 boolean remove(Object o) 移除指定的结果
 boolean containsAll(Collection<?> c)  方法用于判断列表中是否包含指定collection的所有元素,自己测试了下,只要是继承Collection接口的都返回true,不太清楚实际用处
 boolean addAll(Collection<? extends E> c) 将另外一个集合全部加入现在集合
 boolean removeAll(Collection<?> c) 清空指定的集合元素
 boolean retainAll(Collection<?> c) 去两个集合的交集
void clear() 清空集合所有元素
boolean equals(Object o) 比较两个集合
int hashCode()返回列表的哈希码值。
1 0
原创粉丝点击