数组的声明:

1. 必须要声明数组的长度

2. 下标从0开始

3. 只能储存 声明时的类型

1. 你不清楚你需要存储多少内容进入数组?

2. 我从数组里要单独获取到某一个。(必须要通过循环 然后在数组里找)?

集合:

Collection--List(解决第一个难点.不清楚存储多少数据进数组)

--Map(解决第二个难点。要单独的获取某一个元素)

ArrayList:底层代码;其实是一个可变长度的数组.你添加一个元素进去.

它的长度就会增加1,你减少一个长度就会减少1。

优势:在你频繁查询时 遍历时 效率更高

LinkedList:底层代码:是链表形式的储存格式.单车链子.

优势:在首位添加元素时,效率会更高

Set:里面存储的元素不允许重复

List:存储一组有顺序的值。你需要遍历它时则用List

Map:存储一组有key和value的值时。你需要提供Key单独的获取某一个时 用value

Object[] obj=Map.keySet().toArray();

For(int i=0;i<obj.length;i++){

System.out.println(obj[i])

}

Iterator<Dog> it=map.values().iterator();

While(it.hasNext()){

Dog d=it.next();

System.out.println(d);

}