数组 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();
}