集合框架

集合框架
    集合:容器  储存对象的对象  Object[]

接口特点
接口中的常用方法
遍历
实现类

Collection 接口  特点: 元素是Object
常用方法:
add(Object o):将o添加到集合中
addAll(Collection c):将集合c中所有的元素添加到集合中
clear() 清空集合
contains(Object o)判断集合中是否存在元素o
remove(Object o):在集合中删除元素o
size():返回集合的长度 元素的个数
toArray():将集合转成数组
遍历: 迭代

实现类:无

List 接口 特点:Collection的子接口 有顺序(有下标) 可以重复
常用方法:
add(int pos,Object o):把对象o添加到集合pos下标位置
get(int pos):返回pos下标的元素
indexOf(Object o):返回o在集合中的下标,如果不存在则返回-1
remove(int pos):删除pos位置的元素
set(int pos , Object o):将o设置在pos下标位置
遍历:
    1) 下标遍历
    2) 迭代遍历    for-each
实现类:
ArrayList   数组实现   查询快 增删慢  1.2   线程不安全   快  
LinkedList  链表实现   查询慢 增删快   
Vector      数组实现                  1.0    线程安全    慢 
     
Collections 工具类
    reverse(List) 将list中的元素反转
    shuffle(List) 将list中的元素随机排列
    sort(List) 将list中的元素排序 
    为对象指定排序规则:对象必须实现 Comparable接口

Set接口 特点:Collection的子接口   无顺序(没有下标) 元素内容不可重复  唯一
常用方法:无
遍历: 迭代   for-each
实现类:
      HashSet  常用  元素存储顺序不一定等于元素添加的顺序
      LinkedHashSet  HashSet的子类  元素存储顺序等同于元素添加的顺序
      TreeSet  实现了SortedSet(Set的子接口) 对元素自动排序    

自定义的类的对象放入HashSet,为了保证元素内容不重复,就必须:
1.覆盖hashCode方法,保证内容相同的对象返回相同的整数
               尽量保证内容不同的对象返回不同的整数
2.覆盖equals方法,保证内容相同的对象返回true

Map 接口  键值对 键key:对象 无顺序 唯一   值value:对象 可以重复
常用方法:
    clear():清空集合
    containsKey / containsValue 判断 键/值 是否存在
    get(Object key):返回key所对应的value
    put(Object key,Object value):添加键值对 如果key已经存在,新的value覆盖旧的value
    remove(Object key):删除key所对应的键值对
    size():返回键值对的数量
遍历:
    键遍历:  keySet():返回Map中所有key的集合    Set
    值遍历:  values():返回Map中所有value的集合  Collection
实现类:
    HashMap    1.2 线程不安全  快   允许用null作为key或value 
    Hashtable  1.0 线程安全    慢   不允许用null作为key或value 
    TreeMap  实现了SortedMap(Map的子接口)  对key自动排序
    LinkedHashMap HashMap的子类 元素存储顺序等同于元素添加的顺序
    
 
泛型  模板编程
    用在集合框架中,可以实现类型安全的集合
    指定集合中元素的类型
原文地址:https://www.cnblogs.com/zhangqiyang/p/3701497.html