Java基础——单列集合(一)

集合与数组

数组:可以存基本数据类型,也可存引用数据类型。数组长度固定

集合:可以存引用数据类型(基本数据类型要转换为包装类)。集合长度可变。

基本数据类型对应的包装类(编译器已关联好,会自动装箱):

 集合体系

所有集合类和集合接口都在java.util包下。 在内存中申请一块空间用来存储数据,在Java中集合就是替换掉定长的数组的一种引用数据类型

Collection系列为单列集合:

List系列集合:添加的元素是有序,可重复,有索引

Set系列集合:添加的元素是无序,不重复,无索引

Collection集合

contains方法:

在底层依赖equals方法判断对象是否一致,如果存的是自定义对象,没有重写equals方法,就默认使用Object类中的equals方法(依赖地址值判断)

Collection的遍历方式

迭代器遍历
概述

E为当前集合中存储数据的类型 

iterator方法:返回一个在一组E类型的元素上进行迭代的迭代器,相当于创建一个指针指向0索引。

在Java中,Iterator通常是一个接口或类的名称,它定义了迭代器的行为和方法,所有实现了Collection接口的集合类都实现了这个接口。iterator方法通常用于从集合(如 List、set 等)中获取一个Iterator 对象,该对象可以用来遍历集合中的元素。

hasNext、next:这些方法在Iterator类中

hasNext:此方法判断当前指向位置是否有元素

next:此方法获取元素+移动指针

细节

3、第二次可能越界

4、否则会报错(出异常根本原因是:集合中元素删除了,但是没有更新迭代器(迭代器不知道集合变化了),使用迭代器方法删除时,会自动更新迭代器,并且更新集合(删除集合中的元素))

增强for遍历(用快捷键:集合名.for)
概述

细节

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
 
public class Connection_02 {
    public static void main(String[] args) {
        //多态
        Collection<String> con = new ArrayList<>();
        //添加元素
        con.add("abc");
        con.add("def");
        con.add("100");
        con.add("444");
 
        //Collection集合的遍历方式
        //因为没有索引的概念,所以Collection集合不能使用fori进行遍历
 
        //增强版for循环,其实底层使用的也是迭代器,在字节码文件中查看
        for (String str : con) {
            System.out.print(str + "\t");
        }
        System.out.println();//换行
 
        //迭代器,集合专属的遍历工具
        Iterator<String> it = con.iterator();//创建迭代器对象
        while (it.hasNext()){//判断下一个位置是否有元素
            System.out.print(it.next() + "\t");//获取到下一个位置的元素
        }
    }
}
Lambda表达式遍历

总结

List集合(有索引)

add:添加后原来索引上的元素会依次往后移

List集合遍历方式

迭代器遍历,增强for遍历,Lambda遍历:同Collection类

普通for遍历

列表迭代器遍历(在遍历的过程中可添加元素)

LisrIterator接口——详见API文档

总结

LinkedList集合

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值