关于java:集合进阶-笔记

15次阅读

共计 1571 个字符,预计需要花费 4 分钟才能阅读完成。

汇合进阶



Collection 汇合

在 java.util 包下,没有具体的的实现类,必须应用子接口比方 set 和 list 实现

Collection<String> c = new ArrayList<String>();// 创立 collection 汇合的对象
c.add("Hello");// 增加元素 boolean add(E e)

罕用办法

c.add("Hello");// 增加元素 boolean add(E e)
sout(c.add("Hello"));// 返回 boolean 类型 是否增加胜利啥的 //add 办法永远返回 true
c.remove("Hello")// 移除元素
sout(c.remove("Hello"));// 返回 boolean 类型 是否移除胜利啥的 //remove 办法移除胜利返回 true,失败返回 false
c.clear()// 清空集合中所有元素
c.contains("Hello")// 判断汇合中是否存在指定元素
sout(c.contains("Hello"));// 返回 boolean 类型 是否存在 //contains 办法存在返回 true,不存在返回 false
c.isEmpty()// 判断汇合是否为空集合
sout(c.isEmpty());// 返回 boolean 类型 是否为空 //isEmpty 办法汇合为空返回 true,汇合不为空返回 false
c.size()// 判断汇合长度

alt+7 关上一个窗口能够看到类的所有信息

汇合的遍历

Iterator:迭代器,汇合的专用遍历形式

Iterator<String> it = c.iterator();// 返回的是 Iterator 的具体的实现类 Itr 的对象,通过多态的形式失去的 Itr 的对象
it.next();// 返回迭代中的下一个元素
it.hasNext();// 在获取元素之前首先判断有没有元素 如果有就持续 // 如果迭代中具备更多元素 返回 true



应用步骤


案例


List 汇合

在 java.util 包下,有序,存储和取出元素统一,存储的元素能够反复

特有办法

List<String> list = new ArrayList<String>();// 创立 List 汇合的对象
list.add("Hello");// 增加元素 boolean add(E e)
list.add(1,"Hello");// 在索引 1 地位增加元素 hello,原来 1 索引地位元素向后挪动一位
list.remove(index:1);// 删除在索引 1 地位元素,** 返回被删除的元素 **
sout(list.remove(index:1));// 输入被删除的元素
list.set(1,"Hello");// 批改在索引 1 地位元素,批改为 hello,返回被批改的元素
sout(list.set(index:1));// 输入被批改的元素
list.get(index:1);// 返回 / 获取在索引 1 地位元素

案例


并发批改异样


通过迭代器遍历增加元素会产生并发批改异样,因为理论批改汇合次数和预期批改汇合次数不统一
所以通过 for 循环遍历增加元素
其实就是迭代器是原来数组的,增加元素数组曾经扭转了就会显示异样,为了避免有限迭代

Listlterator 列表迭代器

是 list 汇合特有的迭代器,能够从前面往前遍历


hasPrevious、previous 逆向遍历,倒着输入

list.add();

在源码中 ListItr 把理论批改值赋给了预期批改值,所以不会呈现并发批改异样

加强 for 循环

简化数组和 Collection 汇合的遍历,外部其实是一个 Iterator 迭代器

案例



数据结构

是计算机存储、组织数据的形式,是指相互之间存在一种或多种特定关系的数据元素的混合


后进先出,先进后出

队列

先进先出,后进后出,因为入队列和出队列的方向在两端


数据结构之数组





List 汇合子类特点



案例


LinkedList 汇合特有性能


正文完
 0