您的位置:首页 > 编程语言 > Java开发

java常用容器(集合)的总结

2015-07-31 23:36 776 查看
一开始接触容器时,总感觉里面东西很多很难。学完总结一下,常用的无非以下几种,方法也无需全部记住,记住几个关键的即可,其中红色的方法务必记住。

Collection

├List

│ ├LinkedList

│ ├ArrayList

│ └Vector

│  └Stack

└Set

Hashset

Map

├Hashtable

HashMap

└WeakHashMap

1、Collection:(常用的子接口Set和List)

常用的方法:

int size();
boolean isEmpty(); void clear();
boolean contains(Object element);

equals boolean add(Object element); boolean remove(Object element) ; boolean containsAll(Collection c);

boolean addAll(Collection c); boolean removeAll(Collection c); boolean retainAll(Collection c); //求交集

eg:size():此时容器当中的元素个数; contains(Object o):是否包含给定的o值;

Array读快改慢

Linked改快读慢

Hash搜索极快,遍历极慢

Tree插入/搜索都比较快,适合做索引

(1)Set:无序不可重复;常用的实现类:HashSet,TreeSet;

无序:第一次随机,接下来如果没有其它元素的加入或退出,则一直保持这个的顺序,有别于随机;

不可重复:小心“对象”问题,必须先重写equals和hashcode()方法;hashcode()判断两个对象是否指向同一个对象;

常用方法:Set接口本身不提供额外的方法,所有的方法都来自Collection;

常用实现类:HashSet(),TreeSet();

(2)List:有序可以重复;常用的实现类:ArrayList;LinkedList;

常用方法:除了Collection里面的方法外,还有如下:

Object get(int index); //通过下标输出下标对应的值

Object set(int index, Object element); //通过下标去替代相应的下标值


void add(int index, Object element); //表示从index位置插入给定的o值 add(Oject o);

Object remove(int index); //删除下标所对应的元素

int indexOf(Object o); //获取o值在给定容器中第一个出现的索引

int lastIndexOf(Object o); // 获取0值在给定容器中最后出现的索引

remove(int index);//表示通过下标去移除对应下标的值


注意:如果给定的值有Integer类型,不以具体的值来移除,而是以下标对应的值进行移除;remove(Object
o);

注意:ArrayList里面有两个add(),remove()?答:一个方法来自Collection;另一个来自自身的方法.

(3)Map接口:它是由K,V值组合而成,且K值不能重复;

常用的实现类:HashMap:无序;

TreeMap:按照K值大小来进行输出;

LinkedHashMap:按照输入的先后顺序进行输出;

常用的方法:

Object put(Object key, Object value);

Object get(Object key); //返回key值所对应的value值;

Object remove(Object key);

boolean containsKey(Object key); //包含键值,常用来判断用户名是否存在的方法

boolean containsValue(Object value);

int size();

boolean isEmpty();

void putAll(Map t);

void clear();

keyset():把Map里面的K值赋值给Set接口;

values():把Map里面的V值赋值给Collection接口;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: