美文网首页
JavaSE学习笔记——基本数据结构

JavaSE学习笔记——基本数据结构

作者: funOfFan | 来源:发表于2020-03-10 17:11 被阅读0次
  • BitSet类

    1. BitSet,也就是位图,可以用比较紧凑的格式来表示给定范围的连续数据,
      最常见的应用就是那些需要对海量数据进行一些统计工作的时候,比如日志分析等。
      又或者统计40亿个数据中没有出现的数据、将40亿个不同数据进行排序等。

    2. 构造方法

      BitSet bs = new BitSet();//创建一个默认BitSet对象
      BitSet bs = new BitSet(16);//创建一个包含16位Set的对象,默认所有位均为false
      
    3. 常用方法

      void and(BitSet set);
      //将当前Set与参数中的Set按位进行逻辑与运算
      void or(BitSet set);
      //将当前Set与参数中的Set按位进行逻辑或运算
      void xor(BitSet set);
      //将当前Set与参数中的Set按位进行逻辑异或运算
      void andNot(BitSet set);
      //set中指定为true的位,如果在当前Set中也出现了,
      //此方法就会在当前Set中删除这个位
      
      void clear();
      //将此BitSet中所有位设置为false
      void clear(int  index);
      //将此BitSet中索引指定位置设置为false
      void clear(int startIndex, int endIndex);
      //将[startIndex,endIndex)范围内的位设置为false,注意左闭右开
      
      void Set(int index);
      //将指定索引位设置为true
      void Set(int index, boolean v);
      //将指定索引位值设置为指定的值
      void Set(int startIndex, int endIndex);
      //将[startIndex,endIndex)范围内的位设置为true
      void Set(int startIndex, int endIndex, boolean v);
      //将[startIndex,endIndex)范围内的位设置为指定的值
      
      void flip(int index);
      //将指定索引处的位设置为其当前值的补码
      void flip(int startIndex, int endIndex);
      //将[startIndex,endIndex)范围内的位设置为其当前值的补码,注意左闭右开
      
      boolean get(int index);
      //返回指定索引处的值
      BitSet get(int startIndex, int endIndex);
      //返回一个新的BitSet,它由[startIndex,endIndex)范围内的位组成
      int nextClearBit(int startIndex);
      //返回从startIndex开始的第一个false位的索引
      int nextSetBit(int startIndex);
      //返回从startIndex开始的第一个true位的索引
      
      boolean isEmpty();
      //若此BitSet中没有包含任何设置为true的位,返回true,否则返回false
      int length();
      //返回此BitSet的“逻辑大小”
      int size();
      //返回此BitSet表示位值时实际使用空间的位数
      int cardinality();
      //返回当前BitSet中设置为true的位数
      
  • vector类

    1. 本质上vector实现了一个动态数组,类似于ArrayList,
      但是两者间存在区别:Vector是同步访问的,
      并且Vector内部包含很多方法,这些方法不属于集合

    2. 构造方法

      Vector v = new Vector();//创建一个默认的向量,默认大小为10
      Vector v = new Vector(int size);//创建指定大小的向量
      Vector v = new Vector(int size, int incr);//创建指定大小的向量,增量指定为incr(vector每次增加的元素数目)
      Vector v = new Vector(Collection c);//
      
    3. 向Vector中添加数据的方法

      void add(int index, Object element);
      //在此向量的指定位值插入指定对象
      boolean add(Object o);
      //将指定对象添加到此向量的末尾
      boolean addAll(Collection c);
      //将指定 Collection 中的所有元素添加到此向量的末尾,按照指定 collection 的迭代器所返回的顺序添加这些元素。
      boolean addAll(int index, Collection c);
      //在指定位置将Collection中所有元素插入此向量中
      void addElement(Object obj);
      //将指定对象添加到此向量的末尾,将其大小增加1
      void insertElementAt(Object obj, int index);
      //将指定对象作为此向量的组件插入到指定index处
      
    4. 从Vector中删除数据的方法

      void clear()
      //从此向量中移除所有元素
      Object remove(int index)
      //移除此向量中指定位置的元素
      boolean remove(Object o)
      //移除指定对象在此向量中的第一个匹配项,若此向量不包含该对象,则保持不变
      boolean removeAll(Collection c)
      //从此向量中移除指定Collection中包含的所有元素
      void removeAllElements()
      //从此向量中移除所有组件并将其大小设置为0
      boolean removeElement(Object obj)
      //从此向量中,移除obj的第一个(索引最小的)匹配项
      void removeElementAt(int index)
      //删除指定索引处的组件
      boolean retainAll(Collection c)
      //在此向量中仅保留指定Collection中包含的元素
      
    5. 在Vector中查询数据的方法

      boolean contains(Object elem)
      //如果此向量包含指定的元素,则返回 true。
      boolean containsAll(Collection c)
      //如果此向量包含指定 Collection 中的所有元素,则返回 true
      Object elementAt(int index)
      //返回指定索引处的组件
      Enumeration elements()
      //返回此向量中组件的枚举
      Object firstElement()
      //返回此向量的第一个组件(索引值为0)
      Object get(int index)
      //返回向量中指定位置的元素
      int indexOf(Object elem)
      //返回此向量中第一次出现的指定元素的索引,若此向量不包含此元素,返回-1
      int indexOf(Object elem, int index)
      //从index处开始,正向查找,返回此向量中第一次出现的指定元素的索引,
      //若此向量不包含此元素,返回-1
      int lastIndexOf(Object elem)
      //返回此向量中,最后一次出现的指定元素的索引;如果此向量不包含该元素,则返回-1
      int lastIndexOf(Object elem, int index)
      //从index处逆向搜索,返回此向量中,最后一次出现的指定元素的索引;
      //如果此向量不包含该元素,则返回-1
      
    6. 修改Vector中数据的方法

      void copyInto(Object[] anArray)
      //将此向量的组件复制到指定数组中
      Object set(int index, Object element)
      //用指定元素替代此向量中指定位置处的元素
      void setElementAt(Object obj, int index)
      //将此向量指定index处的对象设置为obj
      
    7. 与Vector自身属性有关的方法(而不是与其内部数据有关)

      void ensureCapacity(int mainCapacity)
      //增加此向量的容量(如有必要),以确保其至少能够保存最小容量参数指定的组件数。
      boolean isEmpty()
      //检查此向量是否不包含任何组件
      void setSize()
      //设置此向量的大小
      int Capacity()
      //获取此向量的容量,而不是大小
      int size()
      //获取此向量的大小,而不是容量
      void trimToSize()
      //  对此向量的容量进行微调,使其等于向量的当前大小。
      
    1. 实质上,stack是vector的一个子类,因此在Stack中继承了Vector的方法,
      除了这些方法之外,Stack中还有一些自己的方法
    2. boolean empty()
      //测试栈是否为空
      Object peek()
      //查看栈顶部的元素,但是不从栈中移除
      Object pop()
      //移除栈顶元素,并将其作为返回值
      Object push(Object element)
      //把参数对象压入栈顶
      int search(Object element)
      //返回参数对象在栈中的位置,以1为基数
      

相关文章

  • JavaSE学习笔记——基本数据结构

    BitSet类BitSet,也就是位图,可以用比较紧凑的格式来表示给定范围的连续数据,最常见的应用就是那些需要对海...

  • Redis入门--数据结构

    学习笔记 Redis的数据结构的编码 常说的Redis五种基本数据结构string、list、hash、set、z...

  • 数据结构回顾学习-基础知识

    数据结构回顾学习笔记 这次数据结构回顾笔记,是我对数据结构回顾学习的笔记。回顾过程是参考易百教程网站上数据结构教程...

  • javase学习笔记

    java是一种语言,有自己的语法和特征,源自c++。 java的语言特征大概概括有五种:(1)简单性,java有自...

  • JAVASE学习笔记

    1.导包 ctrl+shift+字母o ,回车 2.保留指定位数的小数 (1)保留几位小数“%.nf” ,n保留的...

  • JavaSE学习笔记

    前情提要 学习路径 学习方法 多写,多练,多分享思考,贵在坚持。 即输出代码,输出笔记博客,费曼教学,能把学到的东...

  • 数据结构(三):散列表

    本系列为数据结构学习笔记,如有错误请指正~数据结构(一):数组和链表数据结构(二):栈和队列 一、基本概念 散列表...

  • 2019实战第二期-字典与列表读书打卡

    -----学习《Python基础教程第3版》读书笔记----- 学习脑图 序列 在Python中,最基本的数据结构...

  • JavaSE笔记(一)基本语法

    认识Java关键字 认识Java标识符 如何命名Java变量 优秀攻城师的习惯: Java中的数据类型 Java中...

  • 线性表

    最近在进行考研数据结构的二轮复习,想写一些比较重要的数据结构内容笔记,首先是线性表的学习笔记。 一、线性表的基本概...

网友评论

      本文标题:JavaSE学习笔记——基本数据结构

      本文链接:https://www.haomeiwen.com/subject/flkgdhtx.html