Ⅰ java动态创建数组并给其赋值
importjava.util.Scanner;
publicclassTest{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
System.out.println("请输入创建回的数组的大小:");
intsize=sc.nextInt();
int[]a=newint[size];
System.out.println("手动为每个数组元素赋值答:");
for(inti=0;i<size;i++){
a[i]=sc.nextInt();
}
System.out.println("动态创建的数组为:");
for(inti=0;i<size;i++){
System.out.print(a[i]+"");
}
}
}
Ⅱ java如何动态创建ArrayList并给其赋值
1、ArrayList是动态数组,List是一个接口,不能实例化,需要实例化一个ArrayList;
List list = new ArrayList();
2、使用list .add(任何对象);就可以进行添加了。代码如下:
bean类
package com.whn.bean;
public class ListBean {
private String name;
private String pwd;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getPwd() {
return pwd;
}
}
测试类package com.whn.test;
import com.whn.bean.ListBean;
import java.util.ArrayList;
import java.util.List;
public class ListTest {
//测试
public static void main(String[] args) {
List<ListBean> list = new ArrayList<ListBean>();//实例化一个arrayList
//添加
for(int i=10;i<孝升燃笑裤20;i++){
ListBean listBean = new ListBean();
listBean.setName("name"+i);
listBean.setPwd("pwd"巧虚+i);
list.add(listBean);//把listBean添加到arrayList中
}
//把数据取出来
for(ListBean lb:list){
System.out.println(lb.getName());
System.out.println(lb.getPwd());
}
}
}
Ⅲ Java动态二维数组 怎么动态定义
有两种实现方法:
可以用List数组来实现
可以用map来实现
方法一:用map来实现
比如要创建一个1行、3列的数组,实现方法如下:
public static void main(String[] args) throws CloneNotSupportedException {
Map<Double, List<Double>> myMap = create(1, 3);
}
public static Map<Double, List<Double>> create(double row, double column) {
Map<Double, List<Double>> doubleMap = new HashMap<Double, List<Double>>();
for (double x = 0; x < row; x++) {
for (double y = 0; y < column; y++) {
doubleMap.put(x, new ArrayList<Double>());
}
}
return doubleMap;
}
方法二:
可以用List数组来实现
publicstaticvoidmain(Stringargs[]){
//list作为动态二维数组
List<List<String>>list=newArrayList();
List<String>a1=newArrayList<String>();
List<String>a2=newArrayList<String>();
List<String>a3=newArrayList<String>();
list.add(a1);
list.add(a2);
list.add(a3);
a1.add("string1ina1");
a1.add("string2ina1");
a2.add("string1ina2");
a3.add("string1ina3");
a3.add("string2ina3");
for(inti=0;i<list.size();++i){
for(intj=0;j<list.get(i).size();++j)
System.out.println(list.get(i).get(j));
}
}
Ⅳ 如何在Java里面创建一个动态的二维数组
方式一:
publicObject[][]create(intm,intn){
returnnewObject[m][n];
}
方式二:
System.arrayCopy();
Arrays.();
都可以实现,你可以网络一下用法,java还可以实现“奇异”数组,数组中的数组长度可以不一致。
Ⅳ java创建一个数组,动态为数组赋值,升序排序后输出
public class Test { public static void main(String[] args) { int[] n = new int[10]; Random r = new Random();//实例一个随机数对象 for(int i = 0; i < n.length; i++) { n[i] = r.nextInt();//将一个随机数赋给下标为i的数组元素 System.out.println(n[i]);//打印这个数内显示出来 } int max = n[0];//初始将数容组的第一个数当成最大的数给max变量 for(int i = 1; i < n.length; i++) { //如果max小于下标为i的数组元素,就重新赋值 if(max < n[i]) max = n[i]; } System.out.println("最大:" + max);//显示最大的数 } }
Ⅵ JAVA如何实现动态数组
动态数组用ArrayList 它的底层就是动态数组
ArrayList
ArrayList 集合的存取方式和数组操作很类似,可以按照index顺序来存取集合中的元素,但是还是建议采用更通用的迭代器来进行ArrayList的遍历。
ArrayList与数组最大的区别就是它是可变数组,在初始化ArrayList集合的时候,可以指定一个初始化容量(Capacity 集合中可容纳元素的数量),不指定的时候,系统会指定一个默认的容量值。当我们向ArrayList集合添加元素的时候,实际上是存放元素数量(size)在不断的增加,当容量不变,当数量增长到初始容量大小的时候,因为没有空间导致元素添加阻塞,这时候该集合的容量会按照一定增长策略自动增长,容量增长后,可以继续向集合中添加元素。可变数组是ArrayList的优点,但从另外一个角度考虑,容量的增长是需要付出额外的代价的,所以在性能上有所损失。性能问题的一种解决思路是我们可以在向集合添加大量元素之前,根据欲添加元素的数量,预先扩充容量,采用的是ensureCapacity方法。
ArrayList是一种线性表,在内存中是连续存储的,适合于元素的随机存取。添加和删除操作是需要依据添加的位置来定,如果在ArrayList最后元素后面添加和删除元素,在性能方面还算好,但是如果是在ArrayList中间添加和删除元素的话,代价就会很大。因为,ArrayList需要维护整个集合元素的顺序存储,所以需要处理欲添加和删除元素位置之后的所有元素。
ArrayList的实现不是线程安全的。也就是说,如果有多个线程同时操作ArrayList集合对象,而且其中至少有一个线程的操作涉及到集合对象中元素的修改(添加和删除),则该线程内对集合对象操作的方法需要实现同步。这也是ArrayList与Vector的主要区别。在新的集合框架的实现上,基于性能的考虑,大部分的集合设计都是线程不安全的。如果有同步需求,在用户自己的实现中可以实现同步,实现的方法有2种:
1、在操作集合对象的方法上使用synchronized关键字。
2、如果方法不可修改,则可在定义集合的时候,定义同步化的集合对象(采用Collections工具类的方法),类似:
List list = Collection.synchronizedList(new ArrayList(.....));
(此处深入说明下,在采用Iterator遍历集合的时候,如果有其他线程修改了集合(添加或删除操作),那么Iterator的处理会中止并抛出异常,这是集合处理中的Fail-safe特性)
ArrayList提供的方法中,除了Collection和List的公用方法外,又加入了一些新的方法。
ArrayList(int initialCapacity) 构造器方法增加了集合初始化的最小容量
Void ensureCapacity(int minCapacity) 预扩充ArrayList的容量
Void trimToSize() 把集合的Capacity缩小到Size的大小
下面做一个ArrayList小例子:
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
/**
* @功能:ArrayList的应用小例子
* @author JackRui
* @时间:2009.03.31
*/
public class ArrayListDemo {
public static void main(String[] args) {
//利用ArrayList本身的特性
System.out.println("利用ArrayList本身的特性");
ArrayList list = new ArrayList();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.remove("bbb");
list.add("ddd");
for (int i=0,lsize=list.size();i<lsize;i++){
System.out.println(list.get(i));
}
//利用Iterator遍历
System.out.println("利用Iterator遍历");
Collection clist = new ArrayList();
clist.addAll(list);//添加元素不能采用Iterator接口
Iterator iter = clist.iterator();
while(iter.hasNext()){
String s = (String)iter.next();
if(s.equals("ddd")){
iter.remove();//可以通过Iterator接口对元素进行删除
}else{
System.out.println(s);
}
}
//利用ListIterator遍历
System.out.println("利用ListIterator遍历");
List list2 = new ArrayList();
ListIterator lit = list2.listIterator();
if(!lit.hasNext()){
lit.add("haha");//可以通过ListIterator接口进行集合元素的添加
lit.previous();
System.out.println(lit.next());
}
}
}
运行结果如下:
利用ArrayList本身的特性
aaa
ccc
ddd
利用Iterator遍历
aaa
ccc
利用ListIterator遍历
haha
解析:3种方法中,第一种方法不通用,不建议使用。第2种方法最通用,但仅支持单向遍历,而且对象的添加需要分开实现。第3种方法可以双向遍历,而且可以直接使用ListIterator接口来添加对象。
参考资料:http://fusanjiao.javaeye.com/blog/639963
希望能帮到您,O(∩_∩)O谢谢!
Ⅶ java如何定义动态数组
JAVA中的数组没有动态的
要是想用动态的数据结构就用向量Vector
采用Vector
import java.until.Vector;
例如:
Vector vet==new Vector();
String str="test1";
double t1=0.124;
vet.add(str);
vet.add(String.valueOf(t1));
可以用 vet.size()获取其大小。
通过vet.get(i);获取第i个元素(i从0开始),类型为Object,转换一下就可以了。
具体可以查看jdk api文档
Ⅷ 如何用java语言创建不定长动态数组
如果是String型其实你可以先把要放入数组中的的元素放进一个StringBuffer里,用分隔符分割,在需要的时候转化成String在用.split()方法分割放进String[]数组里,这样快,需要的代码也不多,int型的话,可以用同样的方法实现,只是数据类型转化可能会影响速度。数组好像不支持动态变量的。
Ⅸ java中要声明一个int型的二维动态数组,如何声明
public class Demo12 {
public static void main(String[] args) {
int[][] a = new int[3][5];//声明一个3行5列的二维数组
//第一个括号里代表行数,第二个括号里代表列数
}
}
我这个好像只是一个二维数组,至于你所说的动态二维数组我也不懂
Ⅹ java中怎么动态创建一个行\列数都不固定的二维数组(最好用ArrayList)
看不明白.
是否是这个Map<Integer,List<Integer>>