标签:序列 通用 只读 取数据 容器 结构 复杂 str https
在学习容器的时候,对容器(集合)和数组在使用时如何选择有较大的问题?
数组及其他类容器的区别
java中时内置数组Array,就是一个简单的线性序列
对于简单的数组
数组的标识符只是一个引用,指向堆中创建的真实对象,数组中的对象保存指向其他对象的引用
对象数组是引用
基本类型数组是保存基本类型的值
java与C/C++的区别
java中的方法是可以直接返回数组元素
c/c++不能返回数组元素,是要返回指向数组的指针,导致难以控制数组的生命周期,导致内存泄漏
一个重要知识点:
1.快速的复制数组
System.arraycopy() 实现的数组复制要比for-each循环快的多
public static void arraycopy?(Object src, int srcPos, Object dest, int destPos, int length)
需要注意的是
2.Arrays中的常用static方法
3.数组元素的比较 Comparble Comparator
为了满足代码对各种类型的复用性
java.lang.Comparable接口
实现方法后,直接Arrays.sort()
Comparator接口
实现方法后,Arrays.sort(a,new Comparator())
基本类型无法使用Comparator进行排序
Array 数组,是居于索引的数据结构。获取数据的时间复杂度是O(1),但是要删除数据却是开销很大,因为这需要重排数组中的数据
List 是一个有序的集合(接口),可以包含重复元素
List 的两个实现类 ArrayList,LinkedList
ArrayList 是基于数组实现的能够自动增长容量的数组。
LinkedList 是双链表,添加和删除元素时具有比ArrayList更好的性能.但在get与set方面弱于ArrayList
1.thinking in java 中文版(第四版) 16章数组
2.CyC2018
标签:序列 通用 只读 取数据 容器 结构 复杂 str https
原文地址:https://www.cnblogs.com/GeekDanny/p/11833836.html