2018-07-12

集合

  • 数组: 相同类型,长度固定,有序
  • 集合: 保存一系列任意类型元素且长度不固定的容器
  • 特点
    1.元素类型是任意
    2.长度不固定
    3.必须是对象
  • 包:java.util
    Collection 接口
    jdk1.5:自动包装与自动解包装
    针对基本类型和它对应的引用类型的互相转换
    如:
                        int Integer
            int i = 10;
            Integer a1 = new Integer(i);
            Integer a2 = Integer.valueOf(i);
            int j = a1.intValue();
            Integer a3 = 3;
            j = a1; 

jdk帮助自动完成

  • Set
       1.无序
       2.不重复

Hashset:查询效率很快,用hash算法

  • 先判断2个对象是否相等: 先判断hashCode(可重写)方法是否相等,如果相等那么继续判断equals(可重写)方法。

Treeset:底层是红黑树实现的 排序集合里的元素

  • 集合里的元素原来是无序的
  • 排序规则是可以自定义的
    Comparable:自然排序 默认请款下,集合里面的对象需要实现该接口。
    排序规则定义在compareTo方法之内
    public int compareTo(Object o)
    当前对象代表插入元素
    参数o代表容器里面的元素
    如果返回值是负数,那么放左边
    如果是正数, 那么放右边
    如果是0,不放入集合中
    Comparator:比较器排序
  • List
       1.有序
       2.重复

ArrayList:底层使用数组实现,查询速度快
LinkedList:底层使用链表实现,增删改效率高

  • Map
       字典
       键值对(key,value)
       1.键是唯一的,值可以重复
       2.如果存放相同的键值对,会进行覆盖值

HashMap:查询速度快,键和值可以为null
TreeMap:根据键排序

  • 迭代器
       遍历访问集合的方式
       如果集合想要使用迭代器,必须要实现Iterator接口

你可能感兴趣的:(2018-07-12)