导航:首页 > 编程语言 > 动态数组java创建

动态数组java创建

发布时间:2022-05-28 04:09:23

java如何定义动态数组

相对于C++中在栈里面申请数组控件的话,java里面的数组都是动态的,因为数组的大小是可以在运行时决定,c++中的栈中申请的数组大小,一定是在编译时候决定的。
int[] a = new int[345]. 当然在这之后数组的大小就固定了。
当然这个视角是从运行和编译的时候来看。

我估计你要的是长度可以随时变化的数组吧,你用ArrayList。
java.util.ArrayList

㈡ JAVA中 静态,动态创建数组的区别,联系

区别:
1,数组创建时间不同,静态的是一定义出来就创建了,动态的则是定义时不创建,使用时才创建,一定意义上节省了内存空间。
2,使用场景不同,一开始就知道数组长度的使用静态初始化,反之,动态初始化。
联系:
其实没有什么联系,最恰当的方法用在最适合的场景里就行了

㈢ Java的动态数组怎么做

Java动态数组是一种可以任意伸缩数组长度的对象,在Java中比较常用的是ArrayList,ArrayList是javaAPI中自带的java.util.ArrayList。下面介绍一下ArrayList作为Java动态数组的用法。
Java动态数组是一种可以任意伸缩数组长度的对象,在Java中比较常用的是ArrayList,ArrayList是javaAPI中自带的java.util.ArrayList。下面介绍一下ArrayList作为Java动态数组的用法。
1.语法:add()是添加一个新的元素,
remove()删除一个元素,
size()获得ArrayList的长度。
ArrayList的下标是从0开始。
2.示例代码
import java.util.ArrayList;

public class JavaArrayList {
public static void main(String[]args) {
//Java动态数组的初始化
ArrayList al=new ArrayList();
//向Java动态数组中添加数据
al.add("a");
al.add("b");
al.add("c");
//输出Java动态数组
for(int i=0;i<al.size();i++) {
String alEach=(String)al.get(i);
System.out.println(alEach);
}
//删除数组中的某个元素,删除第二个元素
al.remove(1);
//修改Java动态数组,把新的元素放到第二个位置
al.add(1,"2");
//输出Java动态数组
for(int i=0;i<al.size();i++) {
String alEach=(String)al.get(i);
System.out.println(alEach);
}
}
}
输出如下:
a
b
c
a
2
c
PS:java的一维动态数组一般是使用集合的:ArrayList,HashMap等
泛型:
ArrayList<T> a = new ArrayList<T>();
T是你数组里 存的类型 比如String类型的 比如int的
你可以去看下泛型 就明白了

㈣ java的静态数组和动态数组有什么区别

链接: https://pan..com/s/1E79G006IL4fnyjoRL0v9aw

提取码: d6gp

静态数组,其实在很多的时候,静态数组根本不能满足我们编程的实际需要,比方说我需要在程序运行过程中动态的向数组中添加数据,这时我们的静态数组大小是固定的,显然就不能添加数据,要动态添加数据必须要用到动态数组,动态数组中的各个元素类型也是一致的,不过这种类型已经是用一个非常大的类型来揽括—t类型。

㈤ 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语言创建不定长动态数组

public class intArray {
private int theSize=0;;
private int a_int[]={};
public intArray(int a[]){
this.a_int=a;
this.theSize=a.length;
}
public intArray(){
this.theSize=0;
}

public int getSize(){
return this.theSize;
}
public int getAt(int nIndex){
return this.a_int[nIndex];
}
public void SetAt(int nIndex , int newElement){
this.a_int[nIndex] =newElement;
}
public void add(int nIndex){
int old[] = this.a_int;

this.a_int= new int[this.theSize+1];

for(int i =0;i<old.length;i++){
a_int[i]= old[i];
}
if(this.theSize>0){
a_int[this.theSize]=nIndex;
}else{
a_int[0]=nIndex;
}
this.theSize++;
}
public static void main(String args[]){

intArray array = new intArray();

array.add(1);
array.add(2);
array.add(3);
array.add(4);
array.add(5);
for(int i = 0;i<array.getSize();i++){
System.out.println(array.getAt(i));
}

}
}

再给个任意类型的
public class myArray <AnyType>{
private int theSize=0;
private AnyType theItem[]=null;
public myArray(AnyType a[]){
this.theItem=a;
this.theSize=a.length;
}
public myArray(){

}
public int getSize(){
return this.theSize;
}
public AnyType get(int nIndex){
return this.theItem[nIndex];
}
public void Set(int nIndex , AnyType newElement){
this.theItem[nIndex] =newElement;
}
public void add(AnyType newVal){
AnyType old[]=this.theItem;

this.theItem= (AnyType[]) new Object[theSize+1];
if(theSize!=0){
for(int i =0;i<old.length;i++){
this.theItem[i]= old[i];
}
}
this.theItem[this.theSize]=newVal;
this.theSize++;
}
public static void main(String args[]){
myArray<String> array = new myArray<String>();
array.add("1");
array.add("2");
array.add("3");
array.add("a");
array.add("b");
array.add("c");
for(int i =0;i<array.theSize;i++){
System.out.println(array.get(i));
}
}
}

㈦ 如何在Java里面创建一个动态的二维数组

方式一:
publicObject[][]create(intm,intn){
returnnewObject[m][n];
}
方式二:
System.arrayCopy();
Arrays.();
都可以实现,你可以网络一下用法,java还可以实现“奇异”数组,数组中的数组长度可以不一致。

㈧ java中如何创建动态数组

Java动态数组是一种可以任意伸缩数组长度的对象,在Java中比较常用的是ArrayList,ArrayList是javaAPI中自带的java.util.ArrayList。下面介绍一下ArrayList作为Java动态数组的创建以及用法。
Java动态数组是一种可以任意伸缩数组长度的对象,在Java中比较常用的是ArrayList,ArrayList是javaAPI中自带的java.util.ArrayList。下面介绍一下ArrayList作为Java动态数组的用法。
1.语法:add()是添加一个新的元素,

remove()删除一个元素,
size()获得ArrayList的长度。
ArrayList的下标是从0开始。
2.示例代码
import java.util.ArrayList;
public class JavaArrayList {

public static void main(String[]args)
{

//Java动态数组的初始化

ArrayList al=new
ArrayList();

//向Java动态数组中添加数据

al.add("a");

al.add("b");

al.add("c");

//输出Java动态数组

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

String
alEach=(String)al.get(i);

System.out.println(alEach);

}

//删除数组中的某个元素,删除第二个元素

al.remove(1);

//修改Java动态数组,把新的元素放到第二个位置

al.add(1,"2");

//输出Java动态数组

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

String
alEach=(String)al.get(i);

System.out.println(alEach);

}
}
}

输出如下:
a
b
c
a
2
c
PS:java的一维动态数组一般是使用集合的:ArrayList,HashMap等
泛型:
ArrayList<T> a = new ArrayList<T>();
T是你数组里 存的类型
比如String类型的 比如int的

㈨ 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如何定义动态数组

可以用arraylist:
list
数组名=new
arraylist();
然后你想增加元素可用“数组名.add(需要添加的元素)"方法!

阅读全文

与动态数组java创建相关的资料

热点内容
单片机代码跳掉 浏览:447
程序员谈薪水压价 浏览:861
荣耀10青春版支持方舟编译啊 浏览:158
最优估计pdf 浏览:826
androiddrawtext字体 浏览:669
c语言源编辑源程序编译 浏览:821
手里捏东西真的可以解压吗 浏览:265
编译原理画状态表 浏览:28
用echo命令产生下列输出 浏览:360
在内网如何访问服务器 浏览:961
java导入oracle数据库 浏览:134
坚朗内开内倒铝条算法 浏览:259
华为阅读新建文件夹 浏览:770
幻塔如何选择服务器 浏览:221
解压先把文件压到系统盘 浏览:822
access压缩和修复数据库 浏览:791
光纤交换机命令 浏览:513
白色桌放什么文件夹 浏览:296
分治算法思想 浏览:151
s曲线加减速算法 浏览:403