正确: list.toArray(new String[list.size]);
数组不能强制转换
不带参数的toArray方法,是构造的一个Object数组,然后进行数据拷贝,此时进行转型就会产生ClassCastException
String[] tt =(String[]) list.toArray(new String[0]);
why: Arrays.asList() 生成的list不是java.util.ArrayList 不能进行写操作 只能读(查询 遍历)
how: ArrayList<String> correctList = new ArrayList<String>(arrayToList);
correctList.add("4");
集合的批量删除方法灰常耗时
for (; r < size; r++)
if (c.contains(elementData[r]) == complement)
elementData[w++] = elementData[r];
public int indexOf(Object o) {
if (o == null) {
for (int i = 0; i < size; i++)
if (elementData[i]==null)
return i;
} else {
for (int i = 0; i < size; i++)
if (o.equals(elementData[i]))
return i;
}
return -1;
}
解决: 双层循环