String[] a = new String[]{"aaa","ccc","ddd"}
String[] b = new String[]{"aaa","ccc","ddd"};
String[] c = new String[]{"aaa","bbb","ccc","ddd","eee","fff"};
比如有一个a数组一种操是更新a数组,把b里面和a不同的元素更新到a里面,第二种操作上是把a里面没有的b的元素插入到a中,求方法啊~~
新手吧,遍历比较呗;或者转成List,List的contain方法可以判断元素在不在集合里。
public static String[] arrayCombine(String[] a, String[] b) {
if (a == null || b == null)
return null;
List<String> aList = new ArrayList<String>();
Collections.addAll(aList, a);
List<String> bList = new ArrayList<String>();
Collections.addAll(bList, b);
for (String bStr : bList) {
if (!aList.contains(bStr)) {
aList.add(bStr);
}
}
return aList.toArray(new String[] {});
}
List alist=Arrays.asList(a);
for(int i=0 ;i<b.length;i++){
int index=Arrays.binarySearch(a,b[i]);
if(index==-1){
alist.add(b[i]);
}
}
b里面和a不同的元素,把a里面没有的b的元素。这两句话不是一个意思么?
数组扩容,我粘一段代码:
String str1 = {"aaa", "bbb"};
String str2 = {"ccc", "ddd"};
int str1Len = str1.length;
int str2Len = str2.length;
str1 = Arrays.copyof(str1, str1Len+str2Len);
System.arrayCopy(str2, 0, str1, str1Len, str2Len);
System.out.println(Arrays.toString(str1));