数组操作的几个技巧

本文首发于 LOGI'S BLOG,由作者转载。

插入

如果仅将数组当作数据集合使用,无需考虑元素的顺序,那么将元素插入到第 k 个位置的操作可简化为:将第 k 个位置的元素插入到数组尾,将新元素放到第 k 个位置上。快速排序便利用了该思想。

删除

需要删除多个元素时,仅作标记,待所有位置标记完毕后再触发数据搬移。这也是 JVM 中 Garbage Collection 的思想。

数组和容器的选择

以 Java 为例,ArrayList 无法存储基本数据类型,只能存储其包装类,如果仅操作基本数据类型,且尤其关注性能,仍应选用数组。其次,如数据大小已知,操作又比较简单,也可直接使用数组。再次,多维数组,Object[][]ArrayList<ArrayList> 的形式更加直观。最后,使用 ArrayList 时,若数据大小已知,应指定其大小,避免动态扩容带来的时空消耗。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容