java集合(Collection和List)

这篇博客详细介绍了Java中的Collection和List集合。主要内容包括集合类概述、集合类体系结构、Collection集合的使用和方法、List集合的特点、特有方法、并发修改异常的处理、ListIterator的使用以及增强for循环的原理。此外,还讨论了ArrayList和LinkedList的特性及区别。
摘要由CSDN通过智能技术生成

目录

1. Collection

1.1 集合类概述

1.2 集合类体系结构

 1.3 Collection集合概述和使用

 1.4 Collection集合常用方法

1.5 Conlection集合的遍历

1.6 集合的使用步骤

2. List

2.1 List集合概述和特点

 2.2 List集合特有方法

2.3 并发修改异常

2.4 ListIterator

 2.5 增强for循环

2.6 List集合子类特点

2.7 LinkedList集合的特有功能


1. Collection

1.1 集合类概述

集合类的特点:提供一种存储空间可变的存储模型,存储的数据容量可以随时发生改变。

1.2 集合类体系结构

 1.3 Collection集合概述和使用

Collection集合概述

  • 是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素
  • JDK不提供此接口的任何直接实现,它提供更具体的子接口(如Set和List)实现

创建Collection集合的对象

  • 多态的方式
  • 具体的实现类ArrayList

 实例:

import java.util.ArrayList;
import java.util.Collection;

/*
* 创建Collection的对象
*   多态的方式
*   ArrayList()*/
public class CollectionTest {
    public static void main(String[] args) {
        //创建Collection的对象
        Collection<String> c = new ArrayList<String>();

        //添加元素:boolean add(E e);
        c.add("hello");
        c.add("hello");
        c.add("lucycia");

        //输出集合对象
        System.out.println(c);

    }
}

控制台输出:

 我们发现输出的是字符串,但是c对象是new出来的,说明已经重写了toString()方法

我们去查看源代码,首先查看ArrayList的继承关系

 我们可以发现ArrayList继承了AbstractList类和一些接口,接口中不能重写方法,所以我们去AbstractList类中去寻找,结果发现AbstractList也没有重写toString方法,再去AbstractCollection类中去寻找,结果发现在这个类中重写了toString()方法

 1.4 Collection集合常用方法

方法名 说明
boolean add(E e) 添加元素
boolean remove(Object o) 从集合中移除指定的元素
void clear() 清空集合中的元素
boolean contains(Object o) 判断集合中是否存在指定的元素
boolean isEmpty() 判断集合是否为空
int size() 集合的长度,也就是集合中元素的个数

实例:

/*
boolean add(E e)	添加元素
boolean remove(Object o)	从集合中移除指定的元素
void clear()	清空集合中的元素
boolean contains(Object o)	判断集合中是否存在指定的元素
boolean isEmpty()	判断集合是否为空
int size()	集合的长度,也就是集合中元素的个数
*/
public class CollectionTest2 {
    public static void main(String[] args) {
        Collection<String> c = new ArrayList<String>();
        c.add("hello,world!");
        c.add("hello,java!");
        c.add("hello,java!");
        System.out.println(c);

        System.out.println(c.remove("hello,world!"));
        System.out.println(c);

        c.clear();
        System.out.println(c);

        c.add("hello,world!");
        c.add("hello,java!");
        c.add("hello,java!");
        System.out.println(c.contains("hello,world!"));

        System.out.println(c.isEmpty());
    }
}

控制台输出:

1.5 Conlection集合的遍历

Iterator:迭代器,集合的专用遍历模式

Java Iterator不是一个集合,它是一种用于访问集合的方法,可用于迭代ArrayList和HashSet等集合。

  • Iterator<E> iterator():返回此集合中元素的迭代器,通过集合的iterator()方法得到
  • 迭代器是通过集合的iterator()方法得到的,所以我们说它是依赖于集合而存在的

Interator中的常用方法

  • E next():返回迭代中的下一个元素,并且更新迭代器的状态
  • boolean hasNext():如果迭代具有更多元素,则返回true
  • public void remove():将迭代器返回的元素删除

实例:

public class InteratorTest {
    public static void main(String[] args) {
        //创建集合对象
        Collection<String> c = new ArrayList<>();
        //添加元素
        c.add("hello,world!");
        c.add(
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

再让我学一会吧!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值