JAVA里怎么向一个已经满的数组,插入数据!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA里怎么向一个已经满的数组,插入数据!相关的知识,希望对你有一定的参考价值。

定义好长度的数组在插入数据时能改变长度吗
比如一个简单的 int[] arr=1,2,3,4,5,6,怎么向数组里添加数据,然后输出。
用线性表,怎么用?
能用动态数组吗?怎么用?

java中是不可以的,如果想在满的数组后在加数据,只能是重新声明一个更大的数组再将所有数据添加上。
这种情况推荐你使用List,它是可扩充的,没有长度限制。追问

怎么用啊?

参考技术A

JAVA里向一个已经满的数组插入数据可以使用Arrays.copyOf方法实现。

实现代码:

int[] arr=new int[]1,2,3,4,5;
arr=Arrays.copyOf(arr, arr.length+1);//数组扩容
arr[arr.length-1]=6;                //插入数据
for(int i=0;i<arr.length;i++)
System.out.print(arr[i]+",");

参考技术B 数组的长度不能改变,除非重新定义一个长度更长的数组,把原来的数组拷贝进去。 参考技术C 不能 数组定义好了 长度是不可变的 参考技术D 不能,最好是重新构造一个大点的数组,把前面的值赋进去

练习三十九:数组插入排序

数组序列的排序有内置方法,insert(),但是要对已经排序好的数组进行插入排序时,让插入的数据满足原有排序怎么操作,先看习题
已知有一个已经排序好的数组,要求是,将一个新的数据项插入到数组中
思考过程;
先判断原数组的排序方法,然后按照排序方法,将新数据与数据中最后一个数据进行比较,然后找到插入位置后,将数据依次向后移动一个位置

  1 # a = [1,3,4,6,8,12,13]
  2 a = [8,5,4,1]
  3 
  4 flag = 1
  5 for i in range(len(a)):
  6     for j in range(i,len(a)):
  7         if a[i]>a[j]:
  8             flag = 1
  9         elif  a[i]<a[j]:
 10             flag = 0
 11 print(a)
 12 nnum = int(input(输入要插入的数据:‘))
 13 if flag == 0:
 14     if a[0] >= nnum:
 15         a.insert(0,nnum)
 16     elif nnum > a[0] and nnum < a[-1]:
 17         for i in range(len(a)):
 18             if a[i] < nnum and a[i+1] >= nnum:
 19                 a.insert(i+1,nnum)
 20                 break
 21     else:
 22         a.append(nnum)
 23 if flag == 1:
 24     if a[-1] >= nnum:
 25         a.append(nnum)
 26     elif nnum < a[0] and nnum > a[-1]:
 27         for i in range(len(a)):
 28             if a[i] > nnum and a[i+1] <= nnum:
 29                 a.insert(i+1,nnum)
 30                 break
 31     else:
 32         a.insert(0,nnum)
 33 print(a)
执行结果:

  1 [8, 5, 4, 1]
  2 输入要插入的数据:0
  3 [8, 5, 4, 1, 0]



以上是关于JAVA里怎么向一个已经满的数组,插入数据!的主要内容,如果未能解决你的问题,请参考以下文章

输入若干有序数放在数组中。然后输入一个数,插入到此有序数列中,插入后,数组中的数仍然有序。

java 向数据库插入数据

向数据库里插入大量数据,怎么实现不插入重复的记录

在c语言中,将一个数插入一个数组中的程序怎么写?

Java 向已经存在的Word文件插入数据

JAVA中,向MYSQL插入多条数据,如何判断如果某记录已经存在就不插入