• 集合 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时传入了一个比较器 ,这个时候以比较器为标准。

      

     

  • 相关阅读:
    Sql ----- sqlserver 中的if 判断 case... when
    Bootstrap ---------
    js:定时弹出图片(获取属性、setInterval函数)
    js:轮播图(获取属性、setInterval函数)
    js:表单校验(获取元素、事件)
    js:获取元素的值(id、标签、html5新增、特殊元素的获取)
    js:流程控制(分支结构、顺序结构、循环结构)
    拦截器原理(AOP、责任链模式、拦截器的创建、自定义拦截器)
    Action类
    Struts2配置文件(动态方法调用)
  • 原文地址:https://www.cnblogs.com/li-su-35/p/6171456.html
Copyright © 2020-2023  润新知