Java 集合

Java 集合

一、 Collection集合

1、 集合概述

集合和数组都是容器

数组的特点:

  • 数组定义完成并启动后,类型确定,长度固定

  • 在进行增删数据操作的时候,数组是不太适合的,增删数据都需要放弃原有数组或者移位

集合的特点:

  • 集合时存储对象数据的一种容器
  • 集合的大小不固定,启动后可以动态变化,类型也可以选择不固定,集合更像气球
  • 集合非常适合做元素的增删操作
  • 注意:集合中只能存储引用类型数据,如果要存储基本类型数据可以选择包装类

Collection集合体系

https://images.cnblogs.com/cnblogs_com/blogs/722174/galleries/2074790/o_220428083310_20200229141352.png

Collection 集合特点:

  • List
    • 添加元素是有序的、可重复、有索引
  • Set
    • 添加的元素是无序的、不重复、无索引

集合对于泛型的支持:

  • 集合都是支持泛型的,可以在编译阶段约束集合只能操作某种数据类型

    // 存储基本数据类型使用包装类
    Collection<Integer> list = new ArrayList<>();
    

集合和泛型不支持基本类型,只支持引用数据类型

2、 常用API

Collection是单例集合的祖宗接口,它的功能是全部单例集合都可以继承使用的

package collection;

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;

public class Main {
   
    public static void main(String[] args) {
   
        // HashSet:添加的元素都是无序,不重复,无索引的
        Collection<String> list = new ArrayList<>();
        
        // 添加元素:添加成功返回true
        list.add("java");
        list.add("python");
        list.add("C");
        System.out.println(list);
        
        // 清空集合的元素
        // list.clear();
        
        // 判断集合是否为空,是则返回true
        System.out.println(list.isEmpty());
        
        // 获取集合的大小
        System.out.println(list.size());
        
        // 判断集合中是否包含某个元素
        System.out.println(list.contains("python"));
        
        // 删除某个元素:如果有多个重复元素,默认删除前面的第一个
        System.out.println(list.remove("C"));
        
        // 把集合转换成数组
        Object[] arrs = list.toArray();  // 注意不能集合里面不能完全确定一种数据类型
        System.out.println("数组内容:" + Arrays.toString(arrs));
        
        System.out.println("-------------------扩展-----------------------");
        Collection<String> c1 = new ArrayList<>();
        Collection<String> c2 = new ArrayList<>();
        c2.addAll(c1);  // 把C1中的元素全部导入c2中
    }
}

3、 集合的遍历

3.1 迭代器

迭代器遍历的概述:

  • 遍历就是一个一个的把容器中的元素访问一遍
  • 迭代器在Java中的代表是Iterator,迭代器是集合的专用遍历方式

集合获取迭代器

方法名称 说明
Iterator<E> iterator() 返回集合中的迭代器对象,该迭代器默认指向当前集合的首地址

迭代器常用方法

方法名称 说明
boolean hasNext() 询问当前位置是否有元素存在,存在返回true
E next() 获取当前位置的元素,并同时将迭代器对象移向下一个位置,注意防止取出越界
package collection;

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

public class Main {
   
    public static void main(String[] args) {
   
        Collection<String> lis = new ArrayList<>();
        lis.add("李华");
        lis.add("赵华");
        lis.add("张华");
        lis.add("小华");
        System.out.println(lis);

        // 得到当前集合的迭代器对象
        Iterator<String> it = lis.iterator();
        while (it.hasNext()) {
   
            // 遍历迭代器对象
            System.out.println(it.next());
        }
    }
}
3.2 for

增强for循环

  • 增强for循环:既可以遍历集合也可以遍历数组
  • 它是JDK5之后出现的,其内部是一个Iterator迭代器,遍历集合相当于是迭代器的简化写法
  • 实现Iterable接口的类才可以使用迭代器和增强for,Collection接口已经实现了Iterable接口

格式:

for (元素数据类型 变量名: 数组或者Collection集合) {
	// 在此处使用变量即可,该变量就是元素
}
package collection;

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

public class Main {
   
    public static void main(String[] args) {
   
        Collection<String> lis = new ArrayList<>();
        lis.add("李华");
        lis.add("赵华");
        lis.add("张华");
        lis.add("小华");
        System.out.println(<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

SteveKenny

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

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

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

打赏作者

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

抵扣说明:

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

余额充值