首页 > 其他分享 >Collecction接口

Collecction接口

时间:2024-03-06 14:47:55浏览次数:22  
标签:Collecction ArrayList 接口 add boolean Collection 集合 c1

Collecction接口

目前为止学习的容器有

1.数组:长度一旦确定就不能更改,对于同一个数组中,既可以是存放基本数据类型元素的数组,也可以是存放引用数据类型数组
2.StringBuffer:无论存放什么类型的元素,一旦进入到StringBuffer,都是以字符类型的形式存储,长度可以改变
3.集合:结合了数组和长度可变的优点
集合是一个统称,并不是指某一种类。
属于的集合既然是一个容器,那么这些容器都有一些相同的共性。
这里学习的本质上是不同的集合类,这些集合类之间有相同的属性或者行为,集合与集合之间会形成继承体系。
比如有些集合不允许元素重复,有些集合允许元素重复,有些集合可以对元素进行排序,有些集合对查找有更好的支持....
换句话说,就是不同的集合底层的数据结构不同,导致了不同的集合具有不同的特点

集合的种类

集合继承体系

ArrayList

ArrayList是实现了List接口的具体子类,List接口是继承自Collection接口
   借助创建ArrayList对象,来使用学习Collection接口中的方法

   ArrayList类中有一个无参构造方法,可以让我们创建一个空的集合

   Collection中的抽象方法一定会在具体子类ArrayList中找到实现:
       boolean add(E e)   E就类似于Object
       boolean remove(Object o)
       void clear()
       boolean contains(Object o)
       boolean isEmpty()
       int size()

   注意:
       1、java中的集合只能存储引用数据类型
       2、集合长度是可变的,集合可以存储不同类型的对象

现在先通过ArrayList来学习Collection的方法

package com.shujia.day11;
import java.util.Collection;
import java.util.ArrayList;

public class CollectionDemo2 {
    public static void main(String[] args) {
        Collection c1=new ArrayList();
        //boolean add(E e) 向集合中添加元素  可以存放任意引用类型
        c1.add(10);//这里有自动装箱  int:10---->Integer
          /*
            ArrayList extends AbstractList
            AbstractList extends AbstractCollection
         */
        c1.add(12.34);
        c1.add("hello");
        c1.add(true);
        c1.add(true);//重复值得是允许ArrayList里面允许重复
        c1.add(false);
        System.out.println(c1);//[10] 这里重写了ArrayList()的方法   toString()底层实际使用的是ArrayList的父类的父类AbstractCollection中的toString()

        //boolean remove(Object o)
        c1.remove(true);//只会删除一次
        c1.remove("asas");//若没有值,不会报错,不会对其进行操作
        System.out.println(c1);

        //void clear()
//        c1.clear();

        //boolean contains(Object o)  判断集合中是否包含某个元素
        System.out.println(c1.contains(12.34));

        //boolean isEmpty()  判断集合是否为空
        System.out.println(c1.isEmpty());

        //int size()   获取集合中的元素个数
        System.out.println(c1.size());
    }
}
Collection中的方法:
    boolean addAll(Collection c)
    boolean removeAll(Collection c)
    boolean containsAll(Collection c)
    boolean retainAll(Collection c)
package com.shujia.day11;
import java.util.ArrayList;
import java.util.Collection;

public class CollectionDemo3 {
    public static void main(String[] args) {
        Collection c1=new ArrayList();
        c1.add("java");
        c1.add("maven&git");
        c1.add("redis");
        c1.add("clickhouse");
        c1.add("hadoop");

        Collection c2=new ArrayList();
        c2.add("java");
        c2.add("clickhouse");
        c2.add("hadoop");
        c2.add("hive");

        System.out.println("c1"+c1);
        System.out.println("c2"+c2);

        //boolean addAll(Collection c)   将一个元素集合中的元素添加到另一个集合中
        c1.addAll(c2);
        System.out.println(c1);
    }
}

遍历集合

如何遍历一个集合:
Object[] toArray()
把集合转成数组,可以实现集合的遍历

Iterator iterator()
迭代器,集合的专用遍历方式

今后学习集合的4步骤:
    1、创建集合对象
    2、创建元素对象
    3、向集合中添加元素
    4、遍历集合
package com.shujia.day11;
import java.util.Collection;
import java.util.ArrayList;

public class CollectionDemo4 {
    public static void main(String[] args) {
        //创建集合对象
        Collection c1=new ArrayList();
        c1.add("java");
        c1.add("maven");
        c1.add("clickhouse");
        System.out.println("c1"+c1);
        // Object[] toArray() 将集合转成数组,遍历数组,得到集合中每个元素
        Object[] arr=c1.toArray();
        for (int i=0;i<arr.length;i++){
            //向下转型
            String s=(String) arr[i];
            System.out.println(s+","+s.length());
        }
    }
}

标签:Collecction,ArrayList,接口,add,boolean,Collection,集合,c1
From: https://www.cnblogs.com/peculiar/p/18056518

相关文章

  • Iterator接口
    Iterator接口概述:对collection进行迭代的迭代器,依赖于集合而存在迭代器遍历是Collection集合所特有的遍历方式得是可遍历的对象packagecom.shujia.day11;importjava.util.ArrayList;importjava.util.Collection;importjava.util.Iterator;publicclassIteratorD......
  • 店小密芒果店长商品搬家API接口PHP Java C++
    随着电子商务的迅猛发展,淘宝作为中国最大的电商平台之一,拥有着海量的商品数据和用户行为数据。为了更好地整合资源、提高运营效率,淘宝开放了商品详情API数据接口,为商家和第三方开发者提供了丰富的功能与应用。一、淘宝商品详情API数据接口概述淘宝商品详情API数据接口是淘宝开放......
  • Java 中Stream接口介绍
    Java流操作Stream接口Stream接口的继承关系:BaseStream=......
  • 获取企业裁判文书接口 - GetJudicialDocuments
     在如今的商业环境中,企业信息的准确性和可信度是非常重要的。尤其是在与其他公司进行合作或者与银行等金融机构进行业务往来时,对企业的背景和信用度有着更高的要求。那么如何有效地验证企业的信息是否真实可信呢?挖数据平台的获取企业裁判文书接口-GetJudicialDocuments将成为......
  • Java 8 Supplier函数式接口介绍及代码样例
    介绍供应商接口(SupplierInterface)是Java8引入的java.util.function包的一部分,用于在Java中实现函数式编程。它表示一个函数,该函数不接收任何参数,但会产生一个类型为T的值。T:表示结果的类型分配给Supplier类型对象的lambda表达式用于定义其get(),最终产生一个值。......
  • 【转】[Java]接口的 VO 使用内部类的写法
    参考:https://www.cnblogs.com/hyperionG/p/15602642.html以下代码段是向阿里的通义灵码提问得到的:importlombok.Data;@DatapublicclassOuterVO{//外部类的属性privateStringouterAttribute;//定义内部类并添加@Data注解@Datapublicst......
  • FactoryBean接口的使用
    一般情况下,Spring通过反射机制利用bean的class属性指定实现类来实例化bean。在某些情况下,实例化bean过程比较复杂,如果按照传统的方式,则需要在标签中提供大量的配置信息,配置方式的灵活性是受限的。为此,spring可以通过实现FactoryBean的接口来定制实例化bean的逻辑。1创建User对象......
  • 接口自动化测试要做什么?8个步骤讲的明明白白(小白也能看懂系列)
    先了解下接口测试流程:1、需求分析2、Api文档分析与评审3、测试计划编写4、用例设计与评审5、环境搭建(工具)6、执行用例7、缺陷管理8、测试报告那"接口自动化测试"怎么弄?只需要在上篇文章的基础上再梳理下就可以。为更好理解"接口自动化"具体操作流程,最好我们提前了解下,为什么要做......
  • jmeter+nmon+crontab简单的执行接口定时压测
    临时接到任务要对系统的接口进行压测,上面的要求就是:压测,并发2000在不熟悉系统的情况下,按目前的需求,需要做的步骤:需要有接口脚本需要能监控系统性能需要能定时执行脚本二、观察>针对第一点:接口脚本需要观察系统接口的情况:系统使用swagger文档编辑接口,这很好,可以直接引......
  • 项目开发中如何保证接口的幂等性
    1.幂等概述1.1什么是幂等性在计算机领域中,幂等(Idempotence)是指任意一个操作的多次执行总是能获得相同的结果,不会对系统状态产生额外影响。在Java后端开发中,幂等性的实现通常通过确保方法或服务调用的结果具有确定性,无论调用次数如何,结果都是可预期的。上面的定义是目前大多数......