Java

您所在的位置:网站首页 java数组赋值字符串 Java

Java

2024-06-10 14:09| 来源: 网络整理| 查看: 265

数组

一维数组初始化方式: 1. int []arr=new int[5]; 和int arr[] = new int[5];效果是一样的,不过开发中推荐前者。 2. int[]arr = new int[]{3,5,1,7};或者简化为int []arr = {3,5,1,7};

二维数组定义方式 //直接为每一维分配空间 int a[][] = new int[2][3]; //依次为每一维分配空间 int a[][] = new int[2][]; a[0] = new int[3]; a[1] = new int[3];

这一点在c和c++中是不同的。在c和c++中必须一次指明每一维的长度。

二维数组初始化方式: (1)直接对每个元素进行赋值; (2)在定义数组的同时进行初始化。如: int a[][]={{2,3},{1,5},{3,4}}; //a数组的行和列的个数可以通过length求得 a.length = 3; a[i].length = 2; 向量(Vector)

Vector和数组非常类似,但是它可以存储多个对象,并且可以根据索引值来检索这些对象。数组和Vector的最大区别就是当空间用完以后,Vector会自动增长。同时Vector还提供了额外的方法来增加或者删除元素,而在数组中,必须手工完成。

Vector的三种构造方法

(1)public Vector();创建一个空的Vector; (2)public Vector(int initialcapacity);创建一个Vector,其初始化大小为initial capacity. (3)public Vector(int initialcapacity,int capacityIncrement); 创建一个Vector,其初始化大小为initial capacity,当Vector需要增长时,其增长速度由capacityIncrement决定。 注意:如果增长的速度不指定,那么Vector会将其空间增加一倍。当Vector很大的时候,这可能导致系统性能下降以及其他问题,建议设置具体的增长速度。

Vector中的几种查找函数

(1)public final int indexOf(Object obj) 从向量头开始搜索obj,返回所遇到的第一个obj对应的下标,若不存在此obj,返回-1. (2)public final synchronized int indexOf(Object obj,int startindex) throws ArrayIndexOutOfBoundsException; 从startindex所表示的下标处开始搜索obj在Vector中第一次出现的位置,没有找到就返回-1. (3)public final int lastindexOf(Object obj) 返回Vector中对象obj最后一次出现的位置,否则返回-1 (4)public final synchornized int lastIndexOf(Object obj,int index)throws ArrayIndexOutOfBoundsException; 从index所表示的下标处由尾至头逆向搜索obj. (5)public final synchornized firstElement() 获取向量对象中的首个obj (6)public final synchornized Object lastElement() 获取向量对象的最后一个obj (7)public final boolean contains(Object ob); 查找一个对象是否在一个Vector中,只要出现一次ob指定的对象就返回true,否则返回false。

Vector中的增加和移除和改变大小操作

插入 (1)public final synchronized void adddElement(Object obj)

将obj插入向量的尾部。obj可以是任何类型的对象。对同一个向量对象,亦可以在其中插入不同类的对象。但插入的应是对象而不是数值,所以插入数值时要注意将数组转换成相应的对象。 例如:要插入整数1时,不要直接调用v1.addElement(1),正确的方法为: Vector v1 = new Vector(); Integer integer1 = new Integer(1); v1.addElement(integer1);

(2)public final synchronized void setElementAt(Object obj,int index)throws ArrayIndexOutOfBoundsException;

将index处的对象设置成obj,原来的对象将被覆盖。

(3)public final synchronized void insertElementAt(Object obj,int index)throws ArrayIndexOutOfBoundsException; 在index指定的位置插入obj,原来对象以及此后的对象依次往后顺延.如果该位置不存在则抛出一个ArrayIndexOutOfBoundsException异常。

移除 (1)public final synchronized boolean removeElement(Object obj) 移走一个特定的对象obj,如果对象在Vector中出现多次,只移走第一次出现的对象。成功返回true,否则返回false。 (2)public final synchronized void removeAllElement(); 删除向量所有的对象 (3)public fianl synchronized void removeElementAt(int index) throws ArrayIndexOutOfBoundsException; 删除index所指的地方的对象 ,并移动其他对象来填充移走对象的空隙。如果试图从一个不存在的位置移走对象,则会抛出ArrayIndexOutOfBoundsException异常。 改变大小的操作 Vector有两种大小的概念,当前存储的元素的个数(size)和Vector的最大容量(capacity);

//capacity方法告诉用户Vector能容纳多少个对象。 public final int capacity(); //ensureCapacity方法可以增加Vector的大小 public final synchronized void ensureCapacity(int minimumCapacity); /*告诉Vector至少能存储minimumCapacity个元素,如果Vector的当前容量比minumunCapacity的 小,将分配给Vector更多的空间;如果Vector的当前空间比minimumCapacity大,Vector也不会减少当前空间。*/

如果要减少Vector的容量,可以使用trimToSize方法:

public final synchronized void trimTosize(); //该方法将Vector的容量减少至当前存储的元素的个数。 public final int size(); //该方法告诉Vector中当前含有多少个对象: public synchronized final void setSize(int newSize); //该方法用于改变当前元素的个数,如果新尺寸小于原尺寸,则新尺寸以后的Vector中原有的元素将丢失;如果新尺寸大于原来的尺寸,,则新增加的元素的值会被置为null。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3