zoukankan      html  css  js  c++  java
  • 集合 LinkedList、ArrayList、Set、Treeset

    LinkedList中特有的方法:

     1:方法介绍

    addFirst(E e)

    addLast(E e)

    getFirst()

    getLast()

    removeFirst()

    removeLast()

    如果集合中没有元素,获取或者删除元

    素抛:NoSuchElementException : 没有找到元素的异常

    2:数据结构  : 可用来描述栈结构存储数据

    1:栈 (1.6

    先进后出  :栈的结构

       push()

    pop()

    2:队列(双端队列1.5

    先进先出

    offer()

    poll()

    3:返回逆序的迭代器对象      

    descendingIterator()   返回逆序的迭代器对象

    Vector  :用来描述线程安全的ArrayList  ArrayList 的使用一样  只是线程更安全一些  

    Vector Arrays 的区别

    相同点:vector ArrayList底层 都是通过Object数组来实现的

    不同点:

    1. ArrayList   线程不同步  操作效率高  

      Vector  线程是同步的  操作效率低

    1. ArrayList 是在jdk1.2 出现的,vector  是在jdk1.0 就有了

     

    Set集合  也是一个集合:继承Collection接口  特点:是无序的 、元素不能重复 元素不能用下标取得

     

    TreeSet :使用元素的自然顺序对元素进行排序,底层使用二叉树实现

    Treeset 使用注意点:

    1.treeSet添加对象的时候,如果对象有这个自然排序的特性,就按照这个自然排序进行排序

    2.TreeSet添加对象的时候,如果对象本身不具备自然排序的特性,运行的时候直接报错,如果需要存储对象,那么对象的类必须要实现comparable 接口   把元素的比较的规则定义在comparato 方法中

    3.TreeSet 添加对象的时候,如果对象本身不具备自然排序的特性,并且没有实现comparable  接口 ,那么这个时候需要创建一个TreeSet的时候传入一个比较器,并且实现public int compare(Object o1, Object o2) 方法

    比较器的定义方式:

     class 类名 implements Compartor{

        

    }

     

    实现compare方法

     public int compare(Object o1, Object o2) {

    TODO Auto-generated method stub

    o1 o2 集合中的对象  : book

    //定义比较的规则。

    Book b1 = (Book)o1;

    Book b2 = (Book)o2;

     

    return b1.id - b2.id;

    }

     4.如果类中实现了Comparable 接口  又在创建TreeSet时传入了一个比较器 ,这个时候以比较器为标准。

      

     

  • 相关阅读:
    Springboot 连接数据库
    线程专题 -- 线程的创建,状态,工作过程,常见方法
    MySQL中UPDATE语句里SET后使用AND的执行过程和结果分析
    SpringCloud | 通过电商业务场景让你彻底明白SpringCloud核心组件的底层原理
    避坑 | Java8使用并行流(ParallelStream)注意事项
    Spring--AOP、通知的执行顺序
    JVM--理解介绍
    JSF学习实战
    策略模式--实战1
    二叉树、二叉查找树、平衡树和红黑树概念
  • 原文地址:https://www.cnblogs.com/li-su-35/p/6171456.html
Copyright © 2011-2022 走看看