集合概述以及常用API

文章目录

一.集合概述

  • 集合和数组都是容器
  • 数组是定义完成启动的,类型确定、长度确定,在进行增删数据操作的时候,数组是不太合适的,增删数据都需要放弃原有的数组或者移位
  1. 数组适合的场景
  • 当业务数据的个数是固定的,且都是同一批数据类型的时候,可以采用定义的数组存储

2.集合是Java中存储对象数据的一种容器

  • 集合的大小不固定,启动后可以动态变化,类型也可以选择不固定,集合像一个气球
  • 集合适合做元素的增删操作
  • 注:集合只适合存储引用类型数据,如果要存储基本数据类型可以选择包装类

3.集合适合的场景

  • 数据的个数不确定,需要进行增删元素的时候

二.Collection集合的体系特点

集合体系结构
在这里插入图片描述
在这里插入图片描述

/**
 * 目标:明确Collection集合体系的特点
 */
public class CollectionDemo1 {
   
    public static void main(String[] args) {
   
        //有序,可重复,有索引
        Collection list=new ArrayList();
        list.add("Java");
        list.add("Java");
        list.add("Mybatis");
        list.add(23);
        list.add(23);
        list.add(23);
        System.out.println(list);//[Java, Java, Mybatis, 23, 23, 23]
        //无序,不可重复,无索引
        Collection list1=new HashSet();
        list1.add("Java");
        list1.add("Java");
        list1.add("Mybatis");
        list1.add(23);
        list1.add(23);
        list1.add(false);
        list1.add(false);
        System.out.println(list1);//[Java, false, 23, Mybatis]
    }
}

集合对于泛型的支持

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

注:集合和泛型都只支持引用数据类型,不支持基本数据类型,所以集合存储的元素被看做是对象

三.Collection集合的常用API

Collection集合

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

CollectionAPI接口如下:

public class CollectionDemo {
   
    public static void main(String[] args) {
   
        //HashSet:添加元素是无序,不重复、无索引
        Collection<String> list=new ArrayList<>();
        //1.添加元素,添加成功放回true
        list.add("Java");
        list.add("HTML");
        System.out.println(list.add("HTML"));
        list.add("MySQL");
        list.add("Java");
        System.out.println(list.add("黑马"));
        System.out.println(list);
        //2.清空集合的元素
      //  list.clear();
       // System.out.println(list);
        //3.判断集合是否为空,是空返回true,反之。
        System.out.println(list.isEmpty());//false
        //4.获取集合的大小
        System.out.println(list.size());
        //判断集合是否包含某元素
        System.out.println(list.contains("HTML"));//true
        System.out.println(list.contains("java"));//false
        //6.删除某个元素,如果有多个重复的元素,默认删除前一个
        System.out.println(list.remove("java"));//false
        System.out.println(list);
        System.out.println(list.remove("Java"));//true
        System.out.println(list);
        //7.把集合转换成数组,[HTML, HTML, MySQL, Java, 黑马]
        Object[] arrs=list.toArray();
//        for(int i=0;i< arrs.length;i++){
   
//            System.out.println(arrs[i]);
//        }
        System.out.println(Arrays.toString(arrs));//[HTML, HTML, MySQL, Java, 黑马]
        System.out.println("--------------拓展------------------");
        Collection<String> list1=new ArrayList<>();
        list1.add("java1");
        list1.add("java2");
        Collection<String> list2=new ArrayList<>();
        list2.add("HTML1");
        list2.add("HTML2");
        //addAll()  把list2中的元素倒入到list1中去
        list1.addAll(list2);
        System.out.println(list1);
        System.out.println(list2);
    }
}

四.Collection 集合的遍历方法

方式一:迭代器

1.迭代器遍历概述

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

2.Collection集合获取迭代器
2.1Iterator iterator() 返回集合中的迭代器对象,该迭代器对象默认指向当前集合的0索引
2.2iterator中的常用方法
boolean hasNext() //访问当前位置是否有元素存在,存在返回true,不存在返回false
E next()//获取当前位置的元素,并同时将迭代器对象移向下一个位置,注意防止取出越界

public class CollectionDemo01 {
   
    public static void main(St
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值