一周心总结之集合
•发布于   •作者 no alone  •298 次浏览  •来自 资讯

集合:简单来说就是容器.用来盛放数据的容器.这个容器只能放引用数据类型.相比较之前所学的数组而言.在开发时如果遇到不是固定长度的基本上使用的都是集合.

集合和数组的比较:

1. 数组长度是固定的

2. 数组的空间是连续的

3. 集合的大小是可变的

4. 集合的空间有连续也有不连续的.

Java中集合中3个类或者接口

1. Iterator : 迭代器.只有拥有迭代器的才可以使用foreach.所谓的迭代就是循环的意思.重复做某件事情.

2. Collection : 集合.有3个常用类

1. List   

2. Set 

3. Queue 队列

3. Map : 键值对 key-value 形式存储数据.

和集合有关的两个工具类:

1. Arrays

2. Collections

<E>是JDK1.5推出的新特性.中文叫做泛型.作用是将类型参数化.

泛型有3种用法:

1. 泛型类

2. 泛型变量

3. 泛型方法

泛型在使用时有一个注意点需要注意是上限和下限.

ArrayList

ArraysList是Collection的实现类.来自于数组.中文简称动态数组.其底层实现使用的是Object类型的数组.使用的数组扩容的方式.改变数组的长度来实现动态大小.因为底层是依赖数组的所以数组所具备特点它都具备:

1. 内存连续

因为ArrayList.在遍历(循环)比较多的情况下选择使用.

ArrayList中有的内容:

1. void add(int index,E element); 在指定位置添加指定元素.

1. 如果指定位置已经存在元素了.那么这个元素去哪了是覆盖还是向后移动一位

  答案: 如果指定位置已经存在元素.则向后移动1位

2. 如果指定位置没有元素?

  答案: 见代码

2. E get(int index)取出指定下标所对应的元素.

1. get是取值还是删值

答案:可以理解为像取副本一样.数据还在原来的位置没有改变

2. 如果下标超过size 

答案:会产生下标越界异常.集合的下标也是从0开始的.

3. E set(int index,E element).替换指定位置的元素并将该元素返回出来.

4. int indexOf(Object o)和lastIndexOf(Object o) 返回元素第一次出现的下标和最后一次出现的下标

5. E remove(Object) remove(index)

这里有个问题当存放的元素数据类型是Integer是.它是int的包装类.但是编译器不会自动帮我们装箱.因此当填入整型时.编译器会自动认为你放入的是下标..如果想强调对象的概念有2种方式

1. 手工装箱

 2. 强制准换 在数值前添加(类型)比如 (Integer)2 .


0 回复
回到顶部

©2017 Powered by 三十三行伪代码
皖ICP备17005175号-3