list与set集合详解

一    List集合(util包下)
 
1.1 有序(存取顺序一致),可重复,是Collection的子接口.
1.2 特有的功能跟索引相关
1.3 常用方法
    *add(E e)
    *add(int index,E e) 指定位置添加元素
    *get(int index) 获取指定位置元素
    *remove(int index) 返回被删除指定位置上的元素 
    *set(int index,E e) 返回被替换掉的元素
1.4 ListIterator接口的介绍
    list集合特有的迭代器(现在已不用)
    ConcurrentModificationException 并发修改异常(遍历集合的同时增加元素)
    *ListIterator这个迭代器可以实现并发修改,用迭代器的增加方法add(E e),内部会同步到集合中.
1.5 数据结构
    *常用结构:堆栈 列队 数组 链表
        *栈:先进后出 栈的出口和入口都是顶端位置 压栈 存元素 弹栈 取元素
        *队列: 先进先出 入口和出口各占一侧
        *数组结构: 查询效率高  增删慢 
        *链表:查询慢  增删快 
1.6 LinkedList集合
    *内部是链表结构,所以多了大量操作首尾的方法,
    *链表结构 效率高 线程不安全
    *addFirst(E e) 
    *addLast(E e)
    *getFirst()
    *getLast()
    *removeFirst()
1.7 Vector集合(面试题 三个的区别联系)
    *数组结构  查询快 增删慢
    *效率低 已不用 线程安全
二 set集合
   2.1 无序 不能重复(内部用equals方法进行比较)
   2.2 存和取的顺序是随机的
   2.3 有重复的就不再添加进去
   2.4 哈希表(保证元素唯一   数组+链表)依赖于
        hashcode 根据 哈希计算出来的 假的地址值
        两个元素hash值一样才进行equals比较
        equals方法
            true:说明重复,不会添加到集合中
            false:可以添加
 2.5 hashset存自定义类型
        自定义类型需要重写hashcode和equals方法才能保证存入集合的元素唯一.
2.6 LinkedHashSet
    特点:存取一致,不能存重复,没有索引
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值