java基础--容器 List、ArrayList、LinkList
1.容器的总体框架
详细的贴一张大佬的图 ,有点错的地方就是Map那个分支是单独的,和Collection接口没有任何关联。原文地址
2.容器简述
容器简单点可以说就是一个桶,你可以往桶里放东西、拿东西、查看数据
不同的桶放不一样的东西
对桶的操作依据容器的种类不同而定。
3.容器的常用方法
<font size="40">Map</gont>
Map接口的实现类有HashMap,TreeMap,HashTable,WeakHashMap,IdentityHashMap
方法功能
Object put(Object key,Object value)存放键值对
Object get(Object key)通过键对象查找得到值对象
Object remove(Object key)删除键对象对应的键值对
boolean containsKey(Object key)Map容器中是否包含键对象对应的键值对
boolean containsValue(Object value)Map容器中是否包含值对象对应的键值对
int size()包含键值对的数量
boolean isEmpty()Map是否为空
void putAll(Map t)将t的所用=有键值对存放到本map对象
void clear()清空本map对象所有键值对
Map的全部方法
<font size="40">List</gont>
List接口的实现类有ArrayList,LinkedList,Stack
方法功能
boolean add(E o)向列表尾部追加指定的元素
void add(int index,E element)在指定位置插入元素
void clear()清除
E get(int idex)返回指定位置的元素
Object toAllay返回以正确顺序包含列表中所以元素的数组
int size()返回元素个数
int indexOf(Objext o)返回列表中首次出现元素的位置
E set(int index,E element)替换指定位置的元素
boolean addAll(index,Coolection<>c)指定位置插入集合全部元素
ListIterator<E>listIterator()返回一个迭代器
List<E>subList(int fromIndex,int toIndex)返回范围内的元素,包左不包右
int lastIndexOf(Objext o)返回列表中元素最后出现的位置
!
<font size="40">Set</gont>
set的差不多,下面的是所以方法
4.容器的深入
容器的实现类所对应的继承的抽象类和接口之间的关系有点错综复杂,主要可以重List,Set,Map三个入手。List和Set都实现Collection接口,而Collection实现了Iterable,而Map和这些都不同,它属于单独开来的一个。
容器的那些实现类都是在这三个接口上进行扩展,去实现自己的特有方法,形成不同种特性的桶。
特性
ArrayList 数组实现,插入删除代价大
Vector 也是数组实现,但是自持同步
LinkedList 链表,动态插入
HashSet 使用Hash算法来存储元素
SortedSet->TreeSet 确保处于有序
HashMap 双向链表来维护key-value的次序
还有一个数Queue队列,用的比较少
容器一个很不错的地方就是可以放对象,还有就是键值对.