Java集合

List

有序可重复,可以通过下标操作元素

实现类

  ArrayList:数组实现,线程不安全;查询慢,修改快

  LinkedList:链表实现,线程不安全;查询快,修改慢

  Vector:数组实现,线程安全

  Stack:Vector的子类,提供堆栈操作,先进后出;push():尾部添加;pop():尾部移除;peek():获取元素

常用方法

get(int index) ;    //取得指定下标元素
set(int index, E elem);   //设置/修改指定下标元素
add(E elem);  添加元素
addAll(Collection c);  //添加一个集合
contains(Object lbj);  //是否包含某元素
remove(Object obj);  //移除元素
removeFirst();  //移除第一个元素
size();  //元素个数
toArray();  //转成数组
isEmpty();  //是否是空集合

Set

不可重复

实现类

  HashSet:无序。通过hashCode和equals判断元素是否重复;新元素的hashCode值不存在,直接存储;如果相同再根据equals方法判断是否存储

  TreeSet:有序,是自然顺序。通过Compareable接口的compareableTo方法判断是否是重复元素

常用方法

  和List接口的实现类方法大致一致,没有get()、set()、removeFirst()等方法

Map

键不可重复,值可以重复

实现类

  HashMap:键可以为空(null);无序;线程不安全

  LinkHashMap:和HashMap的区别是有序

  HashTable:键和值都不能为空(null);线程安全

常用方法 

put(key, value);  //添加元素
get(key);  //获取key对应的value
keySet();  //获取所有键
values();  //获取所有值
entrySet();  //获取所有键值对
remove(key);  //删除键,对应的值也删除
size();  //获取个数
containsKey(key)  //是否包含key
containsValue();  //是否包含值
原文地址:https://www.cnblogs.com/huanggy/p/9190877.html