Java array总结


1 Array是java中对对象序列最有效的存储和随机访问。

 

2 Array的大小的固定的,不能改变。

 

3 Array 和 ArrayList

ArrayList是对Array的一个改进,当增加时,新建一个更大的array,将数据进行拷贝。

其他container(thinking in java中将其他集合类称为container)不能存储primitives类型,如int等,而int可以。

Array通过[]进行数据访问,List通过get()进行访问。

 

4 Array其实只是一个reference,有一个成员变量:length,不是方法!

 

5 Arrays是一个工具类,存在于java.util,有sort(),asList()等方法,要注意asList()并不是一个真正的List,在使用Iterator时,asList()的iterator.remove()会抛出异常。

 

除此之外还有System.arraycopy()可以复制一个array,在ArrayList的remove()方法中由于每次删除一个元素后,需要移动数组,因此用arraycopy()进行复制。

 

6 Array 比较

通过Arrays类的equals()方法可以对比两个数组是否相等。

 

7 array内元素比较

Java有两种方法进行比较:

1 )实现java.lang.Comparable接口

假设array内是一个类型为T的数组,只要T实现Comparable接口,就可以用Arrays.sort()进行排序。

2 )用一个单独的类实现Comparator接口

如果现在array中的类型没有实现Comparable接口,这时就需要一个额外的比较类进行排序时的比较操作,这就是一个strategy模式。利用Arrays.sort(array, Comparator)进行排序。

你可能感兴趣的:(java)