-
BitSet类
-
BitSet,也就是位图,可以用比较紧凑的格式来表示给定范围的连续数据,
最常见的应用就是那些需要对海量数据进行一些统计工作的时候,比如日志分析等。
又或者统计40亿个数据中没有出现的数据、将40亿个不同数据进行排序等。 -
构造方法
BitSet bs = new BitSet();//创建一个默认BitSet对象 BitSet bs = new BitSet(16);//创建一个包含16位Set的对象,默认所有位均为false
-
常用方法
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类
-
本质上vector实现了一个动态数组,类似于ArrayList,
但是两者间存在区别:Vector是同步访问的,
并且Vector内部包含很多方法,这些方法不属于集合 -
构造方法
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);//
-
向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处
-
从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中包含的元素
-
在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
-
修改Vector中数据的方法
void copyInto(Object[] anArray) //将此向量的组件复制到指定数组中 Object set(int index, Object element) //用指定元素替代此向量中指定位置处的元素 void setElementAt(Object obj, int index) //将此向量指定index处的对象设置为obj
-
与Vector自身属性有关的方法(而不是与其内部数据有关)
void ensureCapacity(int mainCapacity) //增加此向量的容量(如有必要),以确保其至少能够保存最小容量参数指定的组件数。 boolean isEmpty() //检查此向量是否不包含任何组件 void setSize() //设置此向量的大小 int Capacity() //获取此向量的容量,而不是大小 int size() //获取此向量的大小,而不是容量 void trimToSize() // 对此向量的容量进行微调,使其等于向量的当前大小。
-
-
栈
- 实质上,stack是vector的一个子类,因此在Stack中继承了Vector的方法,
除了这些方法之外,Stack中还有一些自己的方法 boolean empty() //测试栈是否为空 Object peek() //查看栈顶部的元素,但是不从栈中移除 Object pop() //移除栈顶元素,并将其作为返回值 Object push(Object element) //把参数对象压入栈顶 int search(Object element) //返回参数对象在栈中的位置,以1为基数
- 实质上,stack是vector的一个子类,因此在Stack中继承了Vector的方法,
网友评论