集合框架之list

    xiaoxiao2021-04-15  298

    集合框架之ArrayList集合

    ArrayList集合的方法特有迭代器(Iterator与ListIterator)具体对象特点增长因子论证

    1、 ArrayList集合的方法 这里只是部分方法,若需要其他方法,请点击:http://tool.oschina.net/apidocs/apidoc?api=jdk-zh 去里面找到arraylist集合即可查看

    2、特有迭代器(Iterator与ListIterator) list集合所特有的迭代器,ListIterator是Iterator的子接口 在迭代时,不可以通过集合对象的方法操作集合中的元素; 因为会发生并发修改异常(ConcurrentModificationException); 所以,在迭代时,只能通过迭代器来操作元素,课时Iterator的方法是有限的,Iterator只提供了判断、 取出、删除的操作; 如果想要有其他的操作,如添加、修改等,就需要使用其子接口ListIterator,该接口只能list集合的listIterator方法来获取

    3、具体对象特点(到这里本人觉得把它和其他的几个一起来看比较好) List: 有序 元素可以重复 因为该集合体系有索引 Arraylist: 数组结构 增删慢,查询快 有连续下标 线程不同步 增长因子为1.5倍 初始值为10 vector: 数组结构 增删改查都慢 有连续下标 线程同步 增长因子为2倍 初始值为10 Linkedlist: 链表结构 增删快,查询慢 没有连续下标 Set 无序 元素不可以重复

    4、增长因子论证 (调优前) (后台效果 也可以看出这里是1.5倍,vector的2倍同样这样论证即可 ) 如果我们知道了大小,调整初始值即可达到调优目的 (调优后) 这里我们可以清楚的看出,初始值变了之后,增长因子的变化次数,减少增长因子的变化次数从而达到调优目的

    集合框架Vector之特有遍历方法枚举

    注:list集合的遍历方法亦可使用

    集合框架之LinkedList(堆栈、队列储存方法)

    结构:链表结构,当前节点能够记住上一个节点、以及下一个节点 1、堆栈 特点:先进后出(例如放入顺序是a b c d 打印出来的结果就是 d c b a) 方法: 2、队列 特点:先进先出 方法: 3、特有方法

    addFirst(); addLast();

    4、获取元素但是不删除元素,如果集合中没有元素,会出现NoSuchElementException

    getFirst(); getLast();

    5、获取元素的同时会删除元素,如果集合中没有元素,会出现NoSuchElementException

    removeFirst(); removeLast();

    注:在jdk1.6出现了替代的方法 1、特有方法(以下两个都可以)

    offerFirst() offerLast() peekFirst(); peekLast();

    2、获取元素的同时会删除元素,如果集合中没有元素,会返回null

    pollFirst(); pollLast();

    集合框架ArrayList中的重复元素去重及其底层原理

    我们都知道,字符串的去重复只需要遍历老的集合,在创建一个新的集合遍历时若值相同,不放入新集合中即可,但是集合的重复元素,加入进去即是地址,地址不同,即不会被判断是相同一个元素 所以,我们这里的底层原理是ArrayList的源代码中自带了一个equals的方法,我们需要重写这个equals的方法来达到我们的判断即可

    这里是写一个新的集合的方法,若是不相等,才会加入新集合中

    最后我们去遍历这个集合即可 好了,希望对大家有帮助~


    最新回复(0)