J2EE_02(list集合框架&如何设置看底层源码&迭代器的删除&Iterator 和ListIterator 的区别&演示ArrayList、Vector、LinkedList基本使用方法)
**
一、list集合
**
1.List list=new ArrayList(); //默认的数据类型是object
2.jdk高版本兼容底版本(版本向下兼容)
3.List的取值方式(三种):遍历(foreach) 迭代(iterator) 循环(for)
4.List集合中不可以存放值类型 ,只能使用引用类型(封装)
5.使用for移除时 中间不会留下空位置 往前挪(使用迭代器移除)
6.如果需要删除list集合中的元素请使用迭代器
例如1:删除集合中的偶数(是否有下一个值):
//使用Iterator
Iterator it=list.iterator();//下标为-1
while(it.hasNext()) {//询问 请问有下一个值
Integer v=(Integer)it.next();
if(v%2==0) {
it.remove();
}
}
System.out.println(list);
例如:删除集合中的偶数(是否有上一个值):
//使用listitertor
ListIterator ls=list.listIterator();
while(ls.hasPrevious()) {//是否有上一个值
System.out.println(ls.previous());
}
二、看底层源码(按住Ctrl点击关键词):
如果不能,则设置能够看到底层源码(需要源码包src.zip):
1.Window——Preferences——java——Installed JREs——选中表格中一项(百度)
三、迭代器(删除)
Iterator it=list.iterator();//下标为-1
while(it.hasNext()) {//询问 请问有下一个值 吗 有 下标加1
Object o=it.next();
System.out.println(o);
it.remove();//移除
}
四、Iterator 和ListIterator 的区别:
1.ListIterator 有hasPrevious()方法:是否有上一个值(最前面是-1)
五、演示ArrayList、Vector、LinkedList基本使用方法。
1)增加元素,demo1
2)遍历(下标,foreach,迭代器)demo2
3)删除(在List中删除元素时要使用迭代器) demo3
4)关于List的初始化容量和负载因子 demo4
5)ListIterator
工具方法:`
// 反射
static void print(List arrayList) throws Exception {
Class c = arrayList.getClass();
Field elementDataField = c.getDeclaredField("elementData");
elementDataField.setAccessible(true);
Object[] arr = (Object[]) elementDataField.get(arrayList);
System.out.println("elementData.length=" + arr.length);
}
感谢各位大佬前来观看,Thanks(互粉哦!)