zoukankan      html  css  js  c++  java
  • Java集合之Vector

    vector

    • 定义
    C++:vector 
    Java:Vector<Object>(线程安全)   ArrayList<Object>
    
    • 创建与其基本操作
    创建:
    Vector<Integer> v=new Vector<Integer>();
    ArrayList<Integer> v=new ArrayList<Integer>();
    数组:
    Vector<Integer> v=new Vector[N];
    ArrayList<Integer> v=new ArrayList[N];
    基本操作:
    清空:
    clear()
    添加:
    boolean add(Object o) //
    void add(int index,Object o) //
    boolean addAll(Collection o) //
    boolean addAll(int index,Object o)
    修改:
    Object set(int index,Object o) //
    遍历:
    1. 使用size和get
    2. 使用增强型访问
    3. 使用Iterator it = list.iterator();
    查询:
    Object get(int index)
    int indexOf(Object o) //找到第一个
    int lastIndexOf(Object o) //找到最后一个
    boolean isEmpty()
    删除:
    boolean remove(int index)
    boolean remove(Obeject o)
    
    • 二分查找实现indexOf()lastIndexOf()
    //前提保证Vector<Integer>v 有序
    void Init(){
         Collections.sort(v);    
    }
    public int indexOf(int x){
          int l=0,r=v.size()-1,index=-1;
          while(l<r){
              int mid=(l+r)>>1;
              if(v.get(mid)>=x) r=mid;
              else l=mid+1;
          }
          if(v.get(r)==x) index=r;
          return index;
    }
    public int lastIndexOf(int x){
          int l=0,r=v.size()-1,index=-1;
          while(l<r){
              int mid=(l+r)>>1;
              if(v.get(mid)<=x) l=mid;
              else r=mid-1;
          }
          if(v.get(l)==x) index=l;
          return index;       
    }
    
  • 相关阅读:
    numpy数组行列拼接
    Dropout和BN层的模式切换
    利用sklearn计算决定系数R2
    从曲线图中提取原始数据
    Matlab在极坐标中绘图
    MATLAB中scatter绘制散点图
    说一说你对HTML5语义化的理解
    第十一章 前端开发-html
    详解mysql int类型的长度值问题
    进程间通信(队列和管道)
  • 原文地址:https://www.cnblogs.com/zsyacm666666/p/7655877.html
Copyright © 2011-2022 走看看