zoukankan      html  css  js  c++  java
  • java集合类

    第十五天知识点总结

    一、LinkedList集合类

    LinkedList中特有的方法:

    1.方法介绍:

    添加:

    addFirst(E e); 添加在集合第一位的元素

    addLast(E e); 添加在集合最后一位的元素

    获取:

    getFirst(); 获取集合中的第一个元素

    getLast(); 获取集合中的最后一个元素

    删除:

    removeFirst(); 删除集合中的第一个元素

    removeLast(); 删除集合中的最后一个元素

    2.数据结构

    1:栈(1.6)先进后出(栈的结构)

    Push();

    Pop();

    2:队列(双端队列1.5) 先进先出

    Offer();

    Poll();

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

     descemdingIterator(); 返回逆序的迭代对象

    二、Vector集合类

    Vector:描述的是一个线程安全的ArrayList使用和ArrayList一样

    需要了解的是

    VectorArrayList的区别:

      相同点:VectorArrayList底层都是用object[]来实现

      不同点:1.ArrayList是线程不同步,操作效率高

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

              2.ArrayList是在 jdk1.2出现的,Vector是在 jdk1.0就有了。

    三、Set集合类

      Set集合类 也是一个接口:继承Collection特点:无序的元素,不能重复。

    hashSet存值的一个原理:

    首先回调用对象的hashCode方法获取hashCode值,通过位移等运算获取一个位置。

    情况1:如果位置上是没有元素,直接将元素存放在该位置

    情况2:如果位置上已经有了元素,用对的的equals方法和位置上已经存在的对象作比较,如果equals返回的是true那就代表是重复对象,及局部村,如果返回的false将对象和原有的对象存在一起。

     

    想要遍历Set集合:1.将集合变为数组2.通过迭代器来遍历(无序:添加的顺序和打印的顺序是不一样的。)

     四、TreeSet集合类

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

    注意:你存进去的对象需要具备自然排序的特性。

    TreeSet使用注意点:

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

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

         3.TreeSet添加对象的时候,如果对象本身不具备自然排序的特性,并且没有实现Comparable接口,那么这个时候就需要创建一个TreeSet的时候传入一个比较器。

    比较器的定义方式:

       Class 类名 implements Compartor{

    }

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

    字符串的比较规则:

     1.获取字符串中的第一个值进行比较,通过自然排序比较,如果都是一样的就比较下一个值,还是一样在比较下一个,直到无法再比较   了,这时候就会比较字符串的长度。    

  • 相关阅读:
    面向对象之继承
    面向对象之封装
    面向对象编程
    Centos7.7镜像源配置
    Centos7环境配置
    多表查询v1
    多表查询
    库相关操作
    数据库初识
    数据相关操作
  • 原文地址:https://www.cnblogs.com/lizixiansheng/p/6134723.html
Copyright © 2011-2022 走看看