单列集合体系

顶层接口Collection常用功能

创建Collection集合的对象:

  1. 多态: 多态的方式 – 父类引用指向子类对象 Collection c = new ArrayList();

  2. 具体的实现类创建 – 本类引用指向本类对象 ArrayList a = new ArrayList();

Collection集合常用方法:

  1. boolean add(Object e): 添加元素

  2. boolean remove (Object o): 从集合中移除指定的元素

  3. void clear(): 清空集合中的元素

  4. boolean contains(Object o): 判断集合中是否存在指定的元素

  5. boolean isEmpty(): 判断集合是否为空(集合存在,没有元素), 如果集合为空, 那么返回true, 如果集合不为空 false

  6. int size(): 返回集合中元素的数量,返回集合的长度。

  7. Object[] toArray(): 返回集合的对象的数组

代码:

public static void main(String[] args) {
        // 1. 创建出一个集合
        Collection c = new ArrayList();
        // 2. boolean add(Object e): 添加元素
        c.add("a");
        c.add("hello");
        c.add("b");
        System.out.println(c);// [a, hello, b]

        // 4. boolean contains(Object o): 判断集合中是否存在指定的元素
        System.out.println(c.contains("hello"));// true
        System.out.println(c.contains("he"));// false

        // 5.boolean isEmpty(): 判断集合是否为空(集合存在,没有元素), 如果集合为空, 那么返回true, 如果集合不为空 false
        System.out.println(c.isEmpty());// false

        // 3. boolean remove (Object o): 从集合中移除指定的元素
        c.remove("a");
        System.out.println(c);// [hello, b]

        //6. int size(): 返回集合中元素的数量,返回集合的长度。
        System.out.println(c.size());// 2

        // 4. void clear(): 清空集合中的元素
        c.clear();
        System.out.println(c);// []

        // boolean isEmpty(): 判断集合是否为空(集合存在,没有元素), 如果集合为空, 那么返回true, 如果集合不为空 false
        System.out.println(c.isEmpty());// true

        //6. int size(): 返回集合中元素的数量,返回集合的长度。
        System.out.println(c.size());// 0

        System.out.println("-------------------");

        // 7. Object[] toArray(): 返回集合的对象的数组
        Object[] objArr = c.toArray();
        // 通过遍历数组相当于在遍历集合中元素内容
        for(int index = 0; index < objArr.length; index++){
            Object obj = objArr[index];
            String s = (String)obj;
            System.out.println(s);
        }

单列集合的遍历

迭代器的遍历

迭代: 更新换代, 从一个到下一个概念, 迭代相当于遍历含义

迭代器 : 专门对于单列集合进行遍历对象, 称为的迭代器

  1. Iterator iterator(): 返回此集合中元素的迭代器,通过集合对象的iterator()方法得到

    方法返回值类型Iterator接口

Iterator中的常用方法:

​ - boolean hasNext(): 判断当前位置是否有元素可以被取出

​ - E next(): 获取当前位置的元素,将迭代器对象移向下一个索引位置

- void remove(): 删除迭代器对象当前指向的元素

while(it.hasNext()){
           Object obj = it.next();
           Integer i = (Integer)obj;
           System.out.println(i + 1);
           // 表示将目前正在迭代的元素从集合中删除
           it.remove();
        }

增强for(foreach)遍历

  1. 格式:

​ for(集合/数组中元素的数据类型 变量名 : 集合/数组名){

​ // 已经将当前遍历到的元素封装到变量中了,直接使用变量即可

}

代码:

 for(int a : arr){
            System.out.println(a);
        }

有序单列集合List

List集合是Collection接口的子接口,其下有两个常用实现类分别为 ArrayList 和 LinkedList

List集合的特有方法:

  1. void add(int index,E element): 在此集合中的指定位置插入指定的元素

  2. E remove(int index): 删除指定索引处的元素,返回被删除的元素

  3. E set(int index,E element): 修改指定索引处的元素,返回被修改的元素

  4. E get(int index):返回指定索引处的元素

List集合特有的索引和get方法结合遍历方式

    for(int index= 0; index < li.size(); index++){
      System.out.println(li.get(index));
    }

并发修改异常的解决办法

ConcurrentModificationException 并发修改异常

  1. 通过for循环遍历集合,在遍历过程中可以进行添加和删除元素

  2. 使用迭代器中的remove()方法

  3. 使用ListIterator listIterator()返回列表中的列表迭代器(按适当的顺序)。

​ – add(E e) 添加元素

​ – remove() 移除元素


数据结构之栈和队列

栈: stack,又称堆栈 先进后出

压栈:就是存元素

弹栈:就是取元素

队列

queue,简称队 先进先出

队列的入口、出口各占一侧

数据结构之数组和链表

数组: ArrayList

查找元素快 增删元素慢

链表:linked list,由一系列结点node(链表中每一个元素称为结点)组成

查找元素慢 增删元素快

ArrayList和LinkedList

ArrayList集合:

查询快, 增删慢

LinkedList

方便元素添加、删除的集合

public void addFirst(E e):将指定元素插入此列表的开头。

public void addLast(E e):将指定元素添加到此列表的结尾。

public E getFirst():返回此列表的第一个元素。

public E getLast():返回此列表的最后一个元素。

public E removeFirst():移除并返回此列表的第一个元素。

public E removeLast():移除并返回此列表的最后一个元素。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值