重学java 46.集合 ① Collection集合

事常与人违,事总在人为

                            —— 24.5.26

集合 知识导航

1.集合的特点以及作用

2.使用collection接口中的方法

3.使用迭代器迭代集合
4.ArrayList以及LinkedList的使用

5.使用增强for遍历集合

一、单列集合框架的介绍

1.长度可变的容器:集合

2.集合的特点

        a.只能存储引用数据类型的数据
        b.长度可变
        c.集合中有大量的方法,方便我们操作

3.分类:

        a.单列集合:一个元素就一个组成部分:

                list.add("张三")
        b.双列集合:一个元素有两部分构成:key 和value

                map.put("涛哥”"金莲”) —> key,value叫做键值对

4.介绍

二、Collection接口的使用

1.概述

        单列集合的顶级接口

2.使用

        a、创建

                Collection<E> 对象名 = new 实现类对象<E>()

        b、<E>泛型

                决定了集合中能存储什么类型的数据,它可以统一元素类型,泛型中只能写引用数据类型,如果不写,则默认Object类型,此时什么类型数据都可以存储

        c、泛型细节

                我们等号前面的泛型必须写,等号后面的泛型可以不写,jvm虚拟机会根据前面的泛型推导出后面的泛型是什么

3.常用方法

        boolean add(E e):将给定的元素添加到当前集合中(我们一般调add时,不用boolean接收,因为add一定会成功)

        boolean addAll(collection<? extends E> c):将另一个集合元素添加到当前集合中(集合合并)

        void clear():清除集合中所有的元素
        boolean contains(Object o):判断当前集合中是否包含指定的元素

        boolean isEmpty():判断当前集合中是否有元素->判断集合是否为空

        boolean remove(Object o):将指定的元素从集合中删除

        int size():返回集合中的元素个数。
        Object[] toArray():把集合中的元素,存储到数组中 

package S83SetFrame;

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

public class Demo223SingleSet {
    public static void main(String[] args) {
        // 创建一个Collection对象
        Collection <String> collection = new ArrayList<String>();
        System.out.println("——————————————————————————————————————————");

        // boolean add(E e):将给定的元素添加到当前集合中(我们一般调add时,不用boolean接收,因为add一定会成功)
        collection.add("一切都会好的");
        collection.add("我一直相信");
        collection.add("苦难 是花开的伏笔");
        System.out.println("collection:"+collection);
        System.out.println("——————————————————————————————————————————");


        // boolean addAll(collection<? extends E> c):将另一个集合元素添加到当前集合中(集合合并)
        Collection<String> collection1 = new ArrayList<String>();
        collection1.add("我知道");
        collection1.add("就算大雨让整座城市坏掉");
        collection1.add("你会给我怀抱");
        System.out.println("collection1:"+collection1);
        collection1.addAll(collection);
        System.out.println("collection+collection1:"+collection1);
        System.out.println("——————————————————————————————————————————");

        // void clear():清除集合中所有的元素
        System.out.println("collection:"+collection);
        collection.clear();
        System.out.println("被clear后的collection:"+collection);
        System.out.println("——————————————————————————————————————————");

        // boolean contains(Object o):判断当前集合中是否包含指定的元素
        System.out.println(collection1.contains("我知道"));
        System.out.println("——————————————————————————————————————————");

        // boolean isEmpty():判断当前集合中是否有元素 -> 判断集合是否为空
        System.out.println("判断collection集合是否为空:"+collection.isEmpty());
        System.out.println("判断collection1集合是否为空:"+collection1.isEmpty());
        System.out.println("——————————————————————————————————————————");

        // boolean remove(Object o):将指定的元素从集合中删除
        collection.add("一切都会好的");
        collection.add("我一直相信");
        collection.add("苦难 是花开的伏笔");
        System.out.println("collection:"+collection);
        collection.remove("苦难 是花开的伏笔");
        System.out.println("collection:"+collection);
        System.out.println("——————————————————————————————————————————");

        // int size():返回集合中的元素个数。
        System.out.println("collection1中元素个数为:"+collection1.size());
        // Object[] toArray():把集合中的元素,存储到数组中
        Object[] array = collection.toArray();
        for (int i = 0; i < array.length; i++) {
            System.out.println(array[i]);
        }
        System.out.println("——————————————————————————————————————————");
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/646835.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

App推广新境界:Xinstall助你轻松突破运营痛点,实现用户快速增长!

在移动互联网时代&#xff0c;App已经成为企业营销不可或缺的一部分。然而&#xff0c;如何有效地推广App&#xff0c;吸引并留住用户&#xff0c;成为了众多企业面临的难题。今天&#xff0c;我们将为您揭秘一款神奇的App推广工具——Xinstall&#xff0c;它将助您轻松突破运营…

音视频开发8 音视频中SDL的使用,SDL 在windows上环境搭建,SDL 使用 以及 常用 API说明,show YUV and play PCM

1.SDL简介 SDL&#xff08;Simple DirectMedia Layer&#xff09;&#xff0c;是一个跨平台的C语言多媒体开发库。 支持Windows、Mac OS X、Linux、iOS、Android 提供对音频、键盘、鼠标、游戏操纵杆、图形硬件的底层访问 很多的视频播放软件、模拟器、受欢迎的游戏都在使用…

我的前端封装之路

最近有粉丝提问了我一个面试中遇到的问题&#xff0c;他说面试的时候&#xff0c;面试官问我&#xff1a;你在以前的项目中封装过组件吗&#xff1f;或者做过npm公共库吗&#xff1f;遇到过什么问题吗&#xff1f;当时自己突然觉得好像没什么可回答的啊&#xff0c;但面试结束想…

【Torch学习笔记】

作者&#xff1a;zjk 和 的区别是逐元素相乘&#xff0c;是矩阵相乘 cat stack 的区别 cat stack 是用于沿新维度将多个张量堆叠在一起的函数。它要求所有输入张量具有相同的形状&#xff0c;并在指定的新维度上进行堆叠。

LabVIEW直方图应用解析

概述 在LabVIEW中&#xff0c;直方图是一种重要的工具&#xff0c;用于分析和展示数据的分布情况。它通过将数据分成若干区间并绘制对应频数&#xff0c;可以帮助用户了解数据的集中趋势、离散程度和分布形态。本文将详细介绍LabVIEW中直方图的使用方法、适用场合、实际意义及…

解决使用ServletUtil.write方法下载接口文件中文乱码问题

文章目录 前言代码片段如下&#xff1a;一、问题分析二、解决办法总结 前言 在开发过程中遇到的一个小问题&#xff0c;实现一个下载模板的接口&#xff0c;我选择了使用hutool包的ServletUtil.write方法去进行文件下载&#xff0c;但调试过程中下载出来的文件名是乱码的&#…

DEM、DSM和DTM之间的区别及5米高程数据获取

在日常的学习工作中我们经常会遇到DEM、DSM和DTM等术语&#xff0c;它们的含义类似&#xff0c;甚至相互替换。那么它们之间有什么区别&#xff1f;这里我们对这些术语进行介绍。 DEM&#xff08;数字高程模型&#xff0c;Digital Elevation Model&#xff09;&#xff1a; 定义…

JavaFX安装与使用

前言 最近学习了javafx,开始时在配置环境和导包时遇到了一些麻烦,关于网上很多方法都尝试过了,现在问题都解决了,和大家分享一下我是怎么实现javafx的配置,希望大家可以通过这个方法实现自己的环境配置! &#x1f648;个人主页: 心.c &#x1f525;文章专题:javafx &#x1f49…

5月26号总结

目录 刷题记录(Codeforces Round 947 &#xff08;Div. 1 Div. 2&#xff09;前三题) 1.A. Bazoka and Mochas Array 2.B. 378QAQ and Mochas Array 3.C. Chamo and Mochas Array 刷题记录(Codeforces Round 947 &#xff08;Div. 1 Div. 2&#xff09;前三题) 1.A. Bazok…

【开源可视化报表设计器】借力实现高效率流程化办公!

进行数字化转型、实现流程化办公&#xff0c;这些应该是目前很多企业都想要实现的目标吧。那么&#xff0c;利用什么样的软件平台可以实现&#xff1f;低代码技术平台拥有可视化界面、灵活操作、好维护等众多优势特点&#xff0c;可以借助低代码技术平台、开源可视化报表设计器…

H5扫描二维码相关实现

H5 Web网页实现扫一扫识别解析二维码&#xff0c;就现在方法的npm包就能实现&#xff0c;在这个过程中使用过html5-qrcode 和 vue3-qr-reader。 1、html5-qrcode的使用 感觉html5-qrcode有点小坑&#xff0c;在使用的时候识别不成功还总是进入到错误回调中出现类似NotFoundExc…

用Prometheus全面监控MySQL服务:一篇文章搞定

简介 在现代应用中&#xff0c;MySQL数据库的性能和稳定性对业务至关重要。有效的监控可以帮助预防问题并优化性能。Prometheus作为一款强大的开源监控系统&#xff0c;结合Grafana的可视化能力&#xff0c;可以提供全面的MySQL监控方案。 设置Prometheus 安装Prometheus 使…

JVM学习-方法区(元空间)

运行时数据区结构图 从线程共享与否角度来看 栈、堆、方法区的交互关系 方法区 《Java虚拟机规范》中明确说明&#xff1a;“尽管所有的方法区在逻辑上属于堆的一部分&#xff0c;但一些简单的实现可能不会选择去进行垃圾收集或者进行压缩”&#xff0c;但对于HotSpotJVM而…

Qt 概述

Qt 背景介绍 什么是 Qt Qt 是⼀个 跨平台的 C 图形⽤⼾界⾯应⽤程序框架 。它为应⽤程序开发者提供了建⽴艺术级图形界⾯所需的所有功能。它是完全⾯向对象的&#xff0c;很容易扩展。Qt 为开发者提供了⼀种基于组件的开发模式&#xff0c;开发者可以通过简单的拖拽和组合来实…

绘唐3模型怎么放本地sd安装及模型放置位置 及云端sd部署

绘唐3模型怎么放本地sd安装及模型放置位置 及云端sd部署 资料里面授权方式&#xff1a; https://qvfbz6lhqnd.feishu.cn/wiki/CcaewIWnSiAFgokOwLycwi0Encf 云端和模型之间存在某种关联性。云端通常用于存储和管理大量数据&#xff0c;并提供计算和资源的服务。模型是对数据进…

Shell字符串变量

目标 能够使用字符串的3种方式 掌握Shell字符串拼接 掌握shell字符串截取的常用格式 能够定义Shell索引数组和关联数组 能够使用内置命令alias,echo,read,exit,declare操作 掌握Shell的运算符操作 Shell字符串变量 介绍 字符串&#xff08;String&#xff09;就是一系…

2024/05/25学习记录

1、面经复习&#xff1a;前端广度 2、代码随想录刷题&#xff1a;动态规划 3、rosebush 完成input组件基础

nacos 2.3.3 Windows系统安装详细版

1&#xff0c;下载 https://github.com/alibaba/nacos/releases 2&#xff0c;解压 3&#xff0c;将nacos的内置库(derby)&#xff0c;修改为我们自己的 mysql 3.1 创建一个数据库 3.2 连接数据库 3.3 执行mysql 脚本&#xff0c;在nacos的conf 目录下 mysql-schema.sql 执…

ffpmeg windows WSl 编译so

1.NDK 环境变量配置 2.git clone ffpmeg 3.创建脚本&#xff08;需先下载gcc编译器&#xff09; 64位脚本如下 #!/bin/bashexport NDK/home/test/ndk20 #这里配置先你的 NDK 路径 TOOLCHAIN$NDK/toolchains/llvm/prebuilt/linux-x86_64function build_android {./configure \ …

着急联系媒体投稿发表文章有什么好方法?

作为一名曾经的信息宣传员,我深知在紧张的宣传节点上,急于将精心撰写的文章推向更广阔的读者群体,那种紧迫感和焦虑几乎成了常态。记得那段时间,为了能让稿件得到及时有效的曝光,我不得不亲自踏上了一场寻找媒体联系方式的“马拉松”。那时,我手头的资源有限,仅有的几个联系方式…