Collection和map
来源:互联网 发布:mysql统计不重复数据 编辑:程序博客网 时间:2024/05/29 14:29
最近发现适当的看些源码还是很有意思的。
java.util.Collection;
java.util.Map;
区分collection和map按存储单元值的个数来区分,collection一个单元存一个值,map一个单元存两个值key和value
collect这一特点可能联想到list,set,array map可能联想到hashmap,hashtable
首先collection的打开源码看一下
public interface Collection<E> extends Iterable<E>collection是接口里面有一些我们常用到的方法:int size();
boolean isEmpty();
boolean contains(Object o);
Iterator<E> iterator();
Object[] toArray();boolean add(E e);boolean remove(Object o);
boolean addAll(Collection<? extends E> c);void clear();
boolean equals(Object o);
int hashCode();
这些都是collection里面的方法,所有类要implement collection必然要实现这些方法,想想我们那些类涉及到这些方法了arraylist,hashset,我只想到这俩看一下java.util.ArrayList;的源码public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable
看一下AbstractList
public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E>
public abstract class AbstractCollection<E> implements Collection<E>public interface List<E> extends Collection<E>最后发现arraylist确实是collection扩展出来的list多加了接下来的几篇文章,我将会详细的讲解hashmap,arraylist等的数据结构int lastIndexOf(Object o);
int indexOf(Object o);
E get(int index);E set(int index, E element);等方法。下面在来看一下Map的源码publicinterface Map<K,V>{ int size(); boolean isEmpty(); boolean containsKey(Object key); boolean containsValue(Object value); V get(Objectkey); V put(K key,V value); V remove(Objectkey); void putAll(Map<? extends K, ? extendsV>m); void clear(); Set<K>keySet(); Collection<V>values(); Set<Map.Entry<K, V>>entrySet();//注意下面 interface Entry<K,V> { K getKey(); V getValue(); V setValue(V value); boolean equals(Object o); int hashCode();......
}
}在map接口里面有一个entry的接口 interface Entry<K,V>可以添加key,value的值
hashmap的extends和implement的情况public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializablepublic abstract class AbstractMap<K,V> implements Map<K,V>
阅读全文
0 0
- Collection和Map
- Collection和Map接口
- Collection和map
- Collection和Map
- Map和Collection
- 容器 Collection和Map
- collection和Map
- collection和Map区别
- collection和Map区别
- 集合Collection和Map
- Collection和Map
- Collection和Map总结
- Collection和Map
- collection和map
- Collection和map
- Collection 和 Map
- Collection和Map
- Collection 和 Map
- 如何解决APICloud Studio在IOS上无法USB真机同步?
- Knight Moves
- JavaScript——鼠标滑过事件
- VC保证应用程序只有一个实例在运行
- 书籍-分布式系统常用技术及案例分析
- Collection和map
- SSD的安装配置和测试以及自己遇到的一些坑
- 剑指offer面试题18:删除链表中重复的节点-java
- 闪屏页面
- 242. Valid Anagram的C++解法
- 1
- 汇编-十进制输入输出
- 时间与日期处理
- fiddler APP