1.java.util.Collection
Collection子接口:List:有序的结合.又叫序列
2,IDE(Integrated Development Environment),集成开发环境
1)NetBeans.http://netbeans.org
2)JBuilder.
3)IntellijIDEA
4)eclipse(日食月食)
3.eclipse详解:
4.ArrayList类:
1)get()方法,返回的是object类型的,需要强制类型转换.
2)size()方法
3)clear()方法
4)isEmpty()方法
5)remove(index int)方法:
remove(元素)
6)indexOf()
7)add();
8)toArray();方法
5.ctrl+shift+o:自动import;
6.
import java.util.ArrayList;
public class ArrayListTest4 {
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add(new Integer(1));
list.add(new Integer(2));
list.add(new Integer(3));
list.add(new Integer(4));
list.add(new Integer(5));
list.add(new Integer(6));
/*
* 不能将Object[]转换为Integer[],原因是toArray方法只能够将ArrayList转换为
* object数组,并不能将每个数组元素转换成Integer类型.只有具体访问每一个数组元素时才可以
* 进行类型转换.
*/
Object[] in = list.toArray();
for(int i = 0; i < in.length; i++)
{
System.out.println(((Integer)in[i]).intValue());
}
}
}
7.Arraylist的toSting()方法:总是调用它包含的元素的toString方法
8.集合中,存放的依然是对象的引用而不是对象本身.
9.ArrayList的实现:
ArrayList底层采用数组实现,当使用不带参数的构造方法生成ArrayList对象时,实际上会在底层生成一个长度为10的Object类型数组.
10.如果增加的元素个数超过了10个,那么ArrayList底层会新生成一个数组,长度是原数组的1.5倍+1,然后将新数组的内融复制到新数组中,并且后续增加的内容会放到新数组中.当新数组无法容纳增加的元素时,重复该过程.
11.remove()会返回删掉的值.
12.对于ArrayList元素的删除操作,需要将被删除元素的后续元素向前移动,代价比较高.
13.集合当中只能放置对象的引用,无法放置原生数据类型,我们需要使用原生数据类型的包装类才能加入到集合当中去.
14.集合当中放置的都是Object类型,因此取出来的也是Object类型,那么必须要是用强制类型转换将其转换为真正的类型(放置进去的类型).
15.LInkedList:
16:ctrl+shift+W,关闭eclipse打开的所有窗口
17:关于ArrayList和LinkedList的比较分析:
①Arraylist底层采用数组实现,LinkedList底层采用双向链表实现.
②当执行插入,删除操作比较多时,LinkedList效率比较高,
③当执行搜索操作时,ArrayList的效率比较高一点.
18.作业:
独立分析LinkedList源代码.
19.栈(stack):(Last In Fast Out)后进先出的特点
20.队列(Queue):First In First Out
栈与队列:
队列的方法:
public void put(Object e)
{
}
public Object get()
{
}
public boolean isEmpty()
{
}
栈常用的方法:
pop(),push(),peek(),isEmpty()
栈和队列可以使用ArrayList实现