1. ArrayList与数组互转
//list 转array
ArrayList<String> arrayList = new ArrayList<>();
//...下面的写法是错误的
//String[] strArray = (String[])arrayList.toArray();
//正确写法
String[] strArray = arrayList.toArray(new String[arrayList.size()]);
//array转list
ArrayList<String> arrayList = Arrays.asList(strArray);
2. list循环删除
//直接用list for each 再 list.remove的话,迭代会错乱。
HashSet<String> aSet = new HashSet<>(); //省略初始化
ArrayList<String> mList = new ArrayList();
Iterator<String> it = mList.iterator();
for (; ; ) {
if (it.hasNext()) {
if (!aSet.contains(it.next()))//假设需要检测是否数据存在在另一个数据集中,如果不存在就删除
it.remove();
} else {
break;
}
}
//如果只需要判断是否一个数组包含另一个数组,可以用list1.contains(list2)