「java向量赋值」java 向量
今天给各位分享java向量赋值的知识,其中也会对java 向量进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java Vector 怎么用一个Vector来给一个以维数组赋值呢?
- 2、java中,数组可以怎么赋值,几种赋值方法
- 3、java, Vector dp(n+1,Vector(m+1,0));错哪了啊???
- 4、JAVA中如何将向量Vector中的值赋给一个指定变量。。
- 5、在java中怎么给多个变量赋值
- 6、在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向量赋值的信息别忘了在本站进行查找喔。