JAVA 集合 迭代器

集合和数组的区别
数组只能存储相同类型的数据 给定的长度是固定的不可改变
所以 我们就需要集合 集合可以存储引用数据类型(可以通过自动装箱来保存基本类型数据) 而且集合的长度是可以变化的这里写图片描述

Collection接口中的方法
1.添加

Collection collection = new ArrayList();
collection.add("a");
collection.add(true);
collection.add(100);

2.删除某个元素/是否包含某个元素
集合长度/判断是否是空集合/清空集合

Collection collection = new ArrayList();
collection.add("a");
collection.add("b");
collection.add("c");
collection.add("d");
//删除某个元素
System.out.println(collection.remove("c"));

//判断这个集合是不是空的 
System.out.println(collection.isEmpty());

//获取集合长度
System.out.println(collection.size());

//是否包含某个元素
System.out.println(collection.contains("e"));

//清空集合
collection.clear();
System.out.println(collection);

3.两个集合的交集

Collection a1 = new ArrayList();
a1.add("a");
a1.add("b");
a1.add("c");

Collection a2 = new ArrayList();
a2.add("a");
a2.add("b");
a2.add("d");

//相当于把a1和a2的交集在a1中删除
a1.removeAll(a2);
System.out.println(a1);
Collection a1 = new ArrayList();
a1.add("a");
a1.add("b");
a1.add("c");

Collection a2 = new ArrayList();
a2.add("a");
a2.add("d");
a2.add("e");

// 在a1中只保留a1和a2的交集 
boolean b = a1.retainAll(a2);
System.out.println(a1);

迭代器(现阶段用来遍历集合)
获取集合中迭代器
Iterator iterator = collection.iterator();
判断有没有下一个元素
boolean hasNext = iterator.hasNext();
获取下一个元素
Object next = iterator.next();

迭代器遍历集合

Collection collection = new ArrayList();
collection.add("a");
collection.add("b");
collection.add("c");
collection.add("d");

Iterator iterator = collectio.iterator();
while (iterator.hasNext()) {
    System.out.println(iterator.next());
}

List特有方法
add(int index,Object obj)–>添加
set(index,obj)—>替换
get(int index)—>获取
remove(int index)—>删除

数组实现和链表实现
数组: 查询快 增删慢
查询: 依照下标查询
增删:把插入位置后面所有元素向后移动一位再插入
把删除位置后面所有元素向前移动一位 替换删除位置的字符

连边: 查询慢 增删快
查询: 先判断要查找的元素 距离头和尾的距离 从距离近的一方开始查找
增删:直接找到要插入的位置 用插入的元素
重新保存上一个元素和下一个元素的地址

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章