目录
1.UML
2.List集合特点
3.三种遍历方式
4.LinkedList
5.增长因子论
6.集合框架ArrayList中的重复元素去重复及底层原理
1.UML
主要是画逻辑图的
2.List集合特点
主要是以增,删,改,查
增,删,改,查的代码:
案例1:
ArrayList list = new ArrayList<>();
//新增
list.add("aa");
list.add("bb");
list.add("cc");
list.add("dd");
//查询
System.out.println(list.get(1));
for (Object obj : list) {
System.out.println(obj);
}
//修改
list.set(1, "哈哈");
System.out.println("------------------");
for (Object obj : list) {
System.out.println(obj);
}
//删除
Object obj2 = list.remove(1);//返回值是删除的元素
System.out.println("bb");
System.out.println("------------------");
for (Object obj : list) {
System.out.println(obj);
}
案例2:
将1,4,6,9,11,8 剔除集合中的奇数
错误展示:
ArrayList
list2.add("1");
list2.add("4");
list2.add("6");
list2.add("9");
list2.add("11");
list2.add("8");
for (String obj : list2) {
if(Integer.valueOf(obj)%2==0) {
list2.remove(obj);
}
}
结果:会报当前改变异常将无法执行,如下图:
结论:做集合元素剔除,不能在原集合遍历的时候进行操作
正确展示:
在加一个list加进去就好了
3.三种遍历方式
迭代器:
System.out.println("------迭代器--------");
Iterator it = list.iterator();
System.out.println(it.hasNext());
System.out.println(it.next());
}
4.LinkedList
思路:
堆栈:如图所示
特点:先进后出
队列:
特点:先进先出
代码展示
堆栈代码
5.增长因子论
list集合如何进行优化
* 当代码中出现了多次add操作,涉及到了list集合容量多次改变,这是十分耗性能的操作,此时通过
* 设定初始化容量,即可优化性能
*
*
* list集合长度是可变的,数组长度是不可变的;
* 结论1:list集合底层的数据结构是数组
* 结论2:增长因子 0.5,初始容量 10
public static void main(String[] args) throws Exception {
// String[] arr = new String[10];
// arr = new String[11];
// arr[11] = "zs";
// arr = new String[12];
// arr[12] = "zs";
ArrayList
private static void getlen(ArrayList
6.集合框架ArrayList中的重复元素去重复及底层原理
public static void main(String[] args) {
ArrayList list = new ArrayList<>();
//新增
list.add("aa");
list.add("bb");
list.add("cc");
list.add("dd");
list.add("aa");
System.out.println(list);
ArrayList listnew = new ArrayList<>();
for (Object object : list) {
if(!listnew.contains(object)) {
listnew.add(object);
}
}
System.out.println(listnew);
}



