「java向量赋值」java 向量

博主:adminadmin 2023-03-18 04:17:09 515

今天给各位分享java向量赋值的知识,其中也会对java 向量进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java Vector 怎么用一个Vector来给一个以维数组赋值呢?

兄弟你好,在说这个问题之前,我需要先说明楼上兄弟所说调用Vector的toArray();方法,确实,他是把Vector里的对象转换为了数组,但是那是Object类型的数组,返回的是Object对象,你依然是需要强转处理的。

你如果想把vector里存储的对象转换存储到short数组,那么有以下几种选择:

一,你的vector里存储的都是可以转变为short的数字字符串,如"1","22"等等。

二,你的vector里存储的都是short的封装类Short类型的对象。

三,你的vector里存储的都是可以转变为short类型的其他基本类型的封装类如Integer,Float等,但是你要保证这些范围都在32767 ~ -32768 。

Vector类里的toArray()方法是把当前这个vector里存储的对象按顺序放到一个Object类型的数组里面,很明显这不符合你的要求。

JAVA数据类型里面,short数值范围是 32767 ~ -32768

所以你如果想把vector里的数字或者数字字符串都转换到short数组里,你首先要保证你的数字范围在32767 ~ -32768

-----------------------------------------------

Vector v = new Vector();

v.add(1);

v.add(2);

v.add(3);

v.add(4);

你用这种写法将基本类型的数字添加到vector,说明你用的是jdk1.5或者1.6版本的。

jdk1.5以后引入了泛型能够自动将基本类型转换为对应的封装类,你这里添加的是int实际上他在存储的时候已经转换为了java.lang.Integer,所以你才可以这样写。

----------------------------------------------------

既然是转换为了Integer类型,那好办,你取的时候先按照Integer类型来取,然后转换为int,最后强制转换为short,并且创建一个与vector的size大小一致的数组来存储,代码如下:

public class TestArray {

public static void main(String[] args){

Vector v = new Vector();

v.add(1);

v.add(2);

v.add(3);

v.add(4);

short []shortArray = new short[v.size()];

for(int i = 0 ; i v.size();i++){

System.out.println("vector里存储的对象类型---" + v.get(i).getClass().getName() + "index----" + i);

Integer temp = (Integer)v.get(i);

shortArray[i] =(short) temp.intValue();

}

}

}

---------------------------------

另外一种方法就是调用toArray()方法然后再转换Object数组对象为Integer-int-short,这样是可行的,但是绕弯路了。

java中,数组可以怎么赋值,几种赋值方法

public class TempArray {

public static void main(String[] args) {

//声明数值型数组

int[] array  = {1, 2};

int[] array2 = new int[4];

//新增一个数组长度

array = Arrays.copyOf(array, array.length+1);

//将3这个数值赋值个数组索引 2 的位置,也就是最后面追加

array[array.length-1] = 3;

System.out.println(array2.length); //Result: 4

上面用的是数组,你也可以用 ArrayList 数组列表,是List的一个实现。

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。

Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

Java由四方面组成:

1.Java编程语言,即语法。

2.Java文件格式,即各种文件夹、文件的后缀。

3.Java虚拟机(JVM),即处理*.class文件的解释器。

4.Java应用程序接口(Java API)。

java, Vector dp(n+1,Vector(m+1,0));错哪了啊???

Vector的常见定义方法,不同的定义方法之间有所不同,易出错。

1、vectorint a(5); //定义了5个整型元素的向量(中为元素类型名,它可以是任何合法的数据类型),但没有给出初值,其值是不确定的。

2、vectorint a(5,1); //定义了5个整型元素的向量,且给出每个元素的初值为1

3、vectorint a(b); //用b向量来创建a向量,整体复制性赋值

4、vectorint a(b.begin(),b.begin+3); //定义了a值为b中第0个到第2个(共3个)元素

5、int b[7]={1,2,3,4,5,9,8};

vectorint a(b,b+7); //从数组中获得初值

扩展资料

Vector 可实现自动增长的对象数组。

java.util.vector提供了向量类(Vector)以实现类似动态数组的功能。

创建了一个向量类的对象后,可以往其中随意插入不同类的对象,即不需顾及类型也不需预先选定向量的容量,并可以方便地进行查找。

对于预先不知或者不愿预先定义数组大小,并且需要频繁地进行查找,插入,删除工作的情况,可以考虑使用向量类。

向量类提供了三种构造方法:

public vector()

public vector(int initialcapacity,int capacityIncrement)

public vector(int initialcapacity)

使用第一种方法系统会自动对向量进行管理,若使用后两种方法,则系统将根据参数,initialcapacity设定向量对象的容量(即向量对象可存储数据的大小),当真正存放的数据个数超过容量时。系统会扩充向量对象存储容量。

参数capacityincrement给定了每次扩充的扩充值。当capacityincrement为0的时候,则每次扩充一倍,利用这个功能可以优化存储。

JAVA中如何将向量Vector中的值赋给一个指定变量。。

vector1.addElement(b1);将指定的组件添加到此向量的末尾,将其大小增加 1。如果向量的大小比容量大,则增大其容量

也就是b1在最后一个 可以通过以下方式获取

vector1.lastElement() 获取最后一个

或者

vector1.get(最后一个的索引)

如果是多个的话你得留意每个的索引位置 通过索引获取

给你参考一些vector的方法

int indexOf(Object o)

返回此向量中第一次出现的指定元素的索引,如果此向量不包含该元素,则返回 -1。

int indexOf(Object o, int index)

返回此向量中第一次出现的指定元素的索引,从 index 处正向搜索,如果未找到该元素,则返回 -1

int size()

返回此向量中的组件数

在java中怎么给多个变量赋值

方法1:采用String的split,验证代码如下:

import java.util.Arrays;

public class TestSplit {

public static void main(String[] args) {

String orignString = new String("5,8,7,4,3,9,1");

String[] testString = orignString.split(",");

int[] test = { 0, 0, 0, 0, 0, 0, 0 };

//String to int

for (int i = 0; i testString.length; i++) {

test[i] = Integer.parseInt(testString[i]);

}

//sort

Arrays.sort(test);

//asc sort

for (int j = 0; j test.length; j++) {

System.out.println(test[j]);

}

System.out.println("next ");

// desc

for (int i = (test.length - 1); i = 0; i--) {

System.out.println(test[i]);

}

}

}

方法2:采用StringTokenizer

import java.util.Arrays;

import java.util.StringTokenizer;

public class SplitStringTest {

public static void main(String[] args) {

String s = new String("5,8,7,4,3,9,1");

int length = s.length();

//split s with ","

StringTokenizer commaToker = new StringTokenizer(s, ",");

String[] result = new String[commaToker.countTokens()];

int k = 0;

while (commaToker.hasMoreTokens()) {

result[k] = commaToker.nextToken();

k++;

}

int[] a = new int[result.length];

for (int i = 0; i result.length; i++) {

a[i] = Integer.parseInt(result[i]);

}

//sort

Arrays.sort(a);

//asc sort

for (int j = 0; j result.length; j++) {

System.out.println(a[j]);

}

}

}

在java中 变量之间是如何赋值的

一、基本类型数据赋值

实验1 :定义一个int 类型变量a = 3,并将a 赋值给int b,然后将a ,赋值为5,那么b 的值是3 还是5 呢?

int a = 3;

int b = a ;

a = 5 ;

System.out.println(" a = " + a+" b = "+b );

运行程序 ,打印结果为 :

a = 5 b =3

我们看到,b并没有随a的改变而改变。基本数据类型是值赋值。

二、String类型数据赋值

实验2:定义一个String类型变量s1 赋值为“a”,并将s1赋值给String s2 ;然后将s1赋值为“b”,那么s2的值是 “a”还是 “b”?

String s1 = "a" ;

String s2 = s1;

s1 = "b" ;

System.out.println("s1 = "+s1+" s2 = "+ s2);

运行程序 ,打印结果为 :

s1 = b s2 =a

我们看到,s2并没有随s1的改变而改变。

三、自定义数据类型赋值

实验3: 创建一个TUser u1 ,并将u1赋值给TUser u2 ,将 u1重新赋值 ,u2会随着u1改变而改变吗 ?

TUser u1 = new TUser();

u1.setId(1);

TUser u2 = u1 ;

u1 = new TUser();

u1.setId(2);

System.out.println("ui :"+u1 + "\t\n" +"u2 : "+ u2);

运行程序,打印结果为:

u1 :TUser(id=2)

u2 : TUser(id=1)

我们看到u2并没有随着u1的改变而改变。

如果我们不改变u1指向的地址,而是改变u1指向地址所对应的数据(即将 u1 = new TUser(); 注释掉)。那么u1,u2 打印的记过将都会是 TUser(id=2)

通过以上三个实验我们发现:

变量之间的赋值,可以说没有所谓的值赋值和地址赋值。

简而言之,将一个变量a赋值给另一个变量b,是将这个变量a的值,拷贝一份给变量b(如果a是引用类型,就拷贝引用,如果是基本类型,就拷贝原始值)

java向量赋值的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java 向量、java向量赋值的信息别忘了在本站进行查找喔。