汇合进阶
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办法永远返回truec.remove("Hello")//移除元素sout(c.remove("Hello"));//返回boolean类型 是否移除胜利啥的//remove办法移除胜利返回true,失败返回falsec.clear()//清空集合中所有元素c.contains("Hello")//判断汇合中是否存在指定元素sout(c.contains("Hello"));//返回boolean类型 是否存在//contains办法存在返回true,不存在返回falsec.isEmpty()//判断汇合是否为空集合sout(c.isEmpty());//返回boolean类型 是否为空//isEmpty办法汇合为空返回true,汇合不为空返回falsec.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迭代器
案例
数据结构
是计算机存储、组织数据的形式,是指相互之间存在一种或多种特定关系的数据元素的混合
栈
后进先出,先进后出
队列
先进先出,后进后出,因为入队列和出队列的方向在两端