java 数组如何添加数据?

数组如何添加数据,当数组中已存在的值,就跳过,继续添加下一条。

public class ListInsert {

public static long[] insert(long[] arr,int i,long l){

//新建数组,对原数组扩容

long[] arr1 = new long[arr.length+1];

//将原数组数据赋值给新数组

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

arr1[j] = arr[j];

}

//将大于i的数据向后移动一位

for(int j = arr1.length-2;j>i;j--){

arr1[j+1] = arr1[j];

}

//赋值到i位置

arr1[i+1] = l;

return arr1;

}

//测试

public static void main(String[] args){

long[] arr = {12,25,11,36,14};

long[] arr1 = insert(arr, 2, 100);

for (long l : arr1) {

System.out.print(l+" ");

}

}

数组的扩容方式:arr = Arrays.copyOf(arr, arr.length+1);

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-25
给个代码片段,String oreign[] = new String[]{"a","a","b","f"};
String target[] = new String[]{"a","b","c","d","e"};每Push元素的时候调用数组的indexOf方法,如果返回-1则说明数组中无此元素
for(i=0;i<oreign.length;i++){ if(target.indexOf(oreign[i])==-1) target.add(oreign[i]);}这样就Ok了。。。
呵呵,现在做ruby了,好久没写java代码了,都不记得调用的方法对不了本回答被网友采纳
第2个回答  2013-09-08
数中已存的值会自动跳过,或者覆盖不用考虑import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

public class Save {

public static void main(String[] args) {
List list = new ArrayList();
System.out.println("---输入 exit 退出并显示添加的数据---");
System.out.println("--------------------------------");
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));

try {
System.out.print("请输入要添加的数据:");
String line = bf.readLine();
while(line!=null){
System.out.print("请输入要添加的数据:");
list.add(line);
line = bf.readLine();
if(line.equals("exit")){
break;
}
}
bf.close();
} catch (IOException e) {

e.printStackTrace();
}
for(int i=0;i<list.size();i++){
System.out.print(list.get(i)+" ");
}
}
}
第3个回答  2013-09-08
String[] arrays = new String[10];
arrays[2] = "3";
arrays[4] = "8";
arrays[5] = "0";
for(int i = 0; i < arrays.length; i++) {
if(arrays[i] == null) {
arrays[i] = String.valueOf(i);
}
}
for(int i = 0; i < arrays.length; i++) {
System.out.println(arrays[i]);
}本回答被网友采纳
第4个回答  2013-09-08
list是没有顺序的,它里面的元素可以相同,所以你可以换一个集合类比如SetSet是一种不包含重复的元素的Collection,即任意的两个元素e1和e2都有e1.equals(e2)=false,Set最多有一个null元素。
Set的构造函数有一个约束条件,传入的Collection参数不能包含重复的元素。