首页编程java编程java数组的添加用什么方法吗?java数组添加元素的方法

java数组的添加用什么方法吗?java数组添加元素的方法

编程之家2023-10-1293次浏览

大家好,今天小编来为大家解答以下的问题,关于java数组的添加用什么方法吗,java数组添加元素的方法这个很多人还不知道,现在让我们一起来看看吧!

java数组的添加用什么方法吗?java数组添加元素的方法

Java:向数组中添加元素

程序的执行没有问题,确实是三个数组已满。

你的想法应该是一旦在数组中找到空元素就加入新元素,应该在if判断当前元素为空时加入元素。可以在最后输出数组查看。index可以作为判断标准,在循环结束时index还是-1,说明数组是满的。

public class SuppleMent{

java数组的添加用什么方法吗?java数组添加元素的方法

public static void main(String[]args){

int index=-1;//假设的数组下标索引

String[] phones={"小米","中兴","华为",null};

java数组的添加用什么方法吗?java数组添加元素的方法

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

if(phones[i]==null){

index=i;

phones[i]="联想";

}

}

if(index==-1)

System.out.println("数组是满的。");

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

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

}

}

}

java数组方法pop() push() unshift() shift()

JS中的数组提供了四个操作,以便让我们实现队列与堆栈!

小理论:

队列:先进先出

堆栈:后进先出

实现队列的方法:

shift:从集合中把第一个元素删除,并返回这个元素的值。

unshift:在集合开头添加一个或更多元素,并返回新的长度

push:在集合中添加元素,并返回新的长度

pop:从集合中把最后一个元素删除,并返回这个元素的值。

这是原来老赵写的关于数组队列的代码,觉得有点问题,所以改了一下

1// Usage:装载并运行函数

2//队列机制

3 var Resource=(function(){

4 var waitingCallbacks= [];

5 var execute= function(cb){

6 setTimeout(function(){

7 cb(function(){

8 if(waitingCallbacks.length== 0) return;

9 execute(waitingCallbacks.shift());

10});

11}, 0);

12};

13 var register= function(cb){

14 if(waitingCallbacks.length== 0){

15 execute(cb);

16} else{

17 waitingCallbacks.push(cb);

18}

19}

20 return{

21 register: register,

22 state: 1

23}

24})();

原来代码中是

execute(waitingCallbacks.unshift());现在我改成了

execute(waitingCallbacks.shift());当你从集合中执行了函数后,它应该从集合中删除,而不是再添加,呵呵。

java数组添加元素的方法

向数组里添加一个元素怎么添加,这儿总结有三种方法:

1、一般数组是不能添加元素的,因为他们在初始化时就已定好长度了,不能改变长度。

但有个可以改变大小的数组为ArrayList,即可以定义一个ArrayList数组,然后用add(element)方法往里添加元素即可,还可add(index,element)往指定下标处添加元素;例子如下:

List

list=new ArrayList();

list.add(1);

list.add(2);

list.add(3);

list.add(2,4);

System.out.println(list);

1

2

3

4

5

6

1

2

3

4

5

6

打印结果: [1, 2, 4, 3]

2、思路为先把array转化为list,用list的add()方法添加元素,再把list转化为array。

但这儿会有一个陷阱盲区,在把array转化为list的过程中,使用的asList()方法会返回一个final的,固定长度的ArrayList类,并不是java.util.ArrayList,直接这样利用它进行add()或remove()是无效的。

List

list=new ArrayList();

list=Arrays.asList(sz);

list.add(5);

1

2

3

1

2

3

那应该怎么做呢,在定义list的时候就直接对array进行转化,代码如下:

(注意这儿Array类型是包装类,若是一般数据类型记得转化,转化参考我其他博客文章。)

//如 List

list=new ArrayList();

// list=Arrays.asList(str);

//这样不行,须如下:

Integer []sz={3,2};

List

list=new ArrayList(Arrays.asList(sz));//**须定义时就进行转化**

list.add(1,5);

Integer[] nsz=new Integer[list.size()];

list.toArray(nsz);

System.out.println(Arrays.toString(nsz));

1

2

3

4

5

6

7

8

9

10

1

2

3

4

5

6

7

8

9

10

结果输出为:[3, 5, 2]

3、第三个方法思路为创建一个新数组,新数组的大小为旧数组大小+1,把旧数组里的元素copy一份进新数组,并把要添加的元素添加进新数组即可。

java如果把Array中的数组的值进行相加呢

你的意思是说比如数组里面有5个对象,现在要改为6个或者更多?未来你学集合就知道了,不过我这里自己封装一个类,里面就是操作Object数组的,增删插入指定位置都有,代码如下:

public class MyList{

private int size;

Object[] object= null;

Object[] temp;

int sequence= 0;

public MyList(){

this(1);

}

public MyList(int size){

if(size<= 0){

throw new IllegalArgumentException("长度应大于0");

} else{

this.size= size;

this.object= new Object[this.size];

}

}

// Add, Insert, Delete, Find

public void add(Object obj){

if(obj== null){

throw new IllegalArgumentException("添加的对象不应为null");

} else{

if(sequence>= size){

this.size++;//这里扩展空间方式随意,可以每次扩展两倍

temp= new Object[this.size];

System.arraycopy(object, 0, temp, 0, object.length);

object= temp;

temp= null;

}

object[sequence]= obj;

sequence++;

}

}

public void insert(int index, Object obj){

if(index< 0|| obj== null){

throw new IllegalArgumentException("插入的索引值应不小于0,并且插入的对象不应为null");

} else{

if(index== object.length){

add(obj);

} else if(index> object.length){

throw new IllegalArgumentException("数据越界,插入的索引不应不在数组范围内");

}

if(sequence>= size){

this.size++;

}

temp= new Object[this.size];

System.arraycopy(object, 0, temp, 0, index);

temp[index]= obj;

System.arraycopy(object, index, temp, index+1, object.length-index);

object= temp;

temp= null;

sequence++;

}

}

public void delete(int index){

if(index< 0|| index>this.size){

throw new IllegalArgumentException("索引应在数组范围内");

} else{

temp= new Object[--this.size];

System.arraycopy(object, 0, temp, 0, index);

System.arraycopy(object, index+1, temp, index, object.length-1-index);

object= temp;

temp= null;

sequence--;

}

}

public Object find(int index){

if(index< 0|| index> this.size){

throw new IllegalArgumentException("索引应大于0或不大于集合元素数");

} else{

return object[index];

}

}

public int size(){

return this.size;

}

}

好了,文章到这里就结束啦,如果本次分享的java数组的添加用什么方法吗和java数组添加元素的方法问题对您有所帮助,还望关注下本站哦!

差不多英文(价格差不多英文)java的system.in是什么意思?java中的System.in是什么意思