数组
-
如何权衡是使用无序的数组还是有序的数组
- 主要看时间复杂度,有序数组查找时间比无序数组的时间短
- 相反,在插入时无序数组的时间比有序数组的时间短,因为值大的元素需要往后移动来给新元素腾位置(从小到大排列)
-
怎么判断数组是 null 还是为空
- 那要看这个数组是否已经实例化,如果实例化长度为0,则数组为空。如果没有实例化,则数组为null。
- 那要看这个数组是否已经实例化,如果实例化长度为0,则数组为空。如果没有实例化,则数组为null。
-
怎么打印数组? 怎样打印数组中的重复元素
- 使用for循环遍历数组,输出数组值;
- 重复输出请参见以下网址:
Array 和 ArrayList有什么区别?什么时候应该使用Array而不是ArrayList
存储内容比较:
array是数组,arraylist是列表,array可以存储基本类型和对象类
arraylist只能存储对象类型
array数组在存放的时候一定是同种类型的元素。ArrayList就不一定了,因为ArrayList可以存储Object。
空间大小比较:
array空间大小是一定的,空间不够时也不能申请,所以要提前确定好空间大小
arraylist空间是动态增长的,空间不够时,它会自动创建个比原来空间大一倍的数组,然后再将所有的数据复制过去,抛弃旧数组。
并且,每次添加新元素的时候都会检查空间是否充足。
方法比较:
arraylist方法更多,有添加全部,删除全部等
使用场景
数组适合在程序运行的整个过程中,一些不变的数据,可以放到全局数组里
如果对数据查找较多,建议使用arraylist
如果对元素频繁操作,或者操作超大量数据时,不建议使用arrylist,建议使用linkedlist
-
数组和链表数据结构描述,各自的时间复杂度
参见网址:http://blog.csdn.net/u013632854/article/details/70338252
-
数组有没有length()这个方法? String有没有length()这个方法
数组没有length方法,string有length()方法