在日常工作中经常对数组列表进行操作,以下是几个实用的小函数,方便初学者,本人也是是初学者。
import java.util.List;
public class ArrayUtils {
//判断数组是否存在某元素
public static int indexString(String[] strs, String s){
for(int i = 0; i < strs.length; i++){
if(strs[i]==null){
continue;
}
if (strs[i].equals(s)){
return i;
}
}
return -1;
}
public static String[] listToArray(List<String> src){
String[] array=new String[src.size()];
for(int i=0;i<src.size();i++) {
String s= src.get(i);
array[i]=s;
}
return array;
}
public static String[] concat(String[] a, String[] b) {
String[] c= new String[a.length+b.length];
System.arraycopy(a, 0, c, 0, a.length);
System.arraycopy(b, 0, c, a.length, b.length);
return c;
}
//合并数组,不重复
public static String[] concatNotRepeat(String[] a, String[] b) {
String[] array=new String[a.length+b.length];
int i=0;
for(int j=0;j<a.length;j++) {
String s= a[j];
if (ArrayUtils.indexString(array,s)<0){
array[i]=s;
i++;
}
}
for(int j=0;j<b.length;j++) {
String s= b[j];
if (ArrayUtils.indexString(array,s)<0){
array[i]=s;
i++;
}
}
//过滤重复的
String[] aList=new String[i];
System.arraycopy(array, 0, aList,0, i);
return aList;
}
}