东软老师上课笔记 2014.11.10 数组和List 的区别

数组 list 的区别

数组的特点:

数组的声明方式:

数组类型[] 数组名 = new 数据类型[长度];

数据类型[] 数组名 ={值1,值2,值3....值n};

数据类型 []数组名 = {};不推荐

Int[]nums 

Product pro = new Product();

栈(存储变量或者基本数据类型):pro

同时存储了地址;

堆(引用类型的数据) new Product()

使用集合框架解决数组的缺陷:

List:有序且可以重复的

ArrayList:底层实现方式是数组,更适合实现遍历检索操作,不适合做添加或删除

   

0    1   2   3   4 

LinkedList:底层采用链表实现,适合实现增加删除操作,不适合做检索操作

Set:不可重复且无序

HashSet:底层通过散列码判断对象是否相同

TreeSet:按照某种顺序要求排列集合

Map:按照Key-Value的方式进行映射,通过Key找到Value

Iterator可以用来便利数组,其实现方式如下:

Set<Product> pros = new HashSet<Product>();

Iterator iter = pros.iterator();

While(iter.hasNext()) {

Product pro = iter.next();

}

原文地址:https://www.cnblogs.com/penger/p/4087546.html