Java企业面试题整理集合(2)(三)

2014-11-23 22:07:30 · 作者: · 浏览: 11
ay1[i++];


}


// 拷贝array2的元素


else if (pArray1[i] > pArray2[j]) {


pArray[n++] = pArray2[j++];


}


// 相等的元素拷贝


else{


pArray[n++] = pArray2[j++];


++i;


}


}


// 如果array1已经被拷贝完毕就拷贝array2的元素


if (i == nLen1){


while (j < nLen2) pArray[n++] = pArray2[j++];


}


// 如果array2已经被拷贝完毕就拷贝array1的元素


else{


while (i < nLen1) pArray[n++] = pArray1[i++];


}


}



ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。



Collection是集合类的上级接口,继承于它的接口主要有Set 和List。


Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。