Java - 集合

在这里插入图片描述
在这里插入图片描述

开篇

数组和集合对比

数组的不足:

1、长度开始时必须指定,而且一旦指定,不能修改,灵活性不够

2、保存的必须为同一类型的元素

3、使用数组进行增删元素的方法比较麻烦

在这里插入图片描述

集合

1、可以动态的保存任意多个对象

2、提供一系列操作对象的方法: add、remove、set、get等

3、使用集合添加、删除新元素更加方便

集合的框架体系

集合主要有两组

单列集合

Collection 接口有两个重要的子接口,List 和 Set ,他们实现的子类都是单列集合

在这里插入图片描述

双列集合

Map接口的实现子类,是双列集合,存放形式为 K-V

在这里插入图片描述

Collection接口实现类的特点

1、Collection实现子类可以存放不同类型的元素,即每个类型都可以是Object

2、有些Collection的实现类,可以存放重复的元素,有些不可以

3、有些Collection的实现类,是有序的(List),而有些是无序的(Set)

4、Collection接口没有直接的实现子类,是通过他的子接口set和list来实现的

常用方法

在这里插入图片描述

package com.zhang;import java.util.ArrayList;
import java.util.List;public class collection_ {public static void main(String[] args) {List list = new ArrayList();// 添加单个元素, 添加的每个元素都是包装类对象list.add("jack");list.add(10); // -> list.add(new Integer(10))  -> list.add(Integer.valueOf(10));list.add(true); // list.add(new Bol)System.out.println(list);System.out.println(list.get(2).getClass());// 删除指定的元素, 返回删除的对象
//        System.out.println(list.remove(0));  // 删除第一个元素, 按照下标删除//按照值删除,删除jack这个元素,// 如果存在,则删除对应元素,返回true// 如果有多个该元素,则默认删除第一个// 如果没有,则返回 falseSystem.out.println(list.remove("sdjack"));System.out.println("删除元素"+ list);// contains 查找元素是否存在System.out.println(list.contains(true));  // TSystem.out.println("list是否包含数字10: " + list.contains(10));// size: 获取元素个数System.out.println("list集合元素个数: " + list.size());// isEmpty :  是否为空System.out.println("判断list集合是否为空: " + list.isEmpty());// clear: 清空
//        list.clear();
//        System.out.println("清空list集合: " + list);// 添加多个元素list.addAll(list);System.out.println("添加多个元素" + list);//判断多个元素是否存在,必须是全部存在,才返回true,否则返回falseArrayList arrayList = new ArrayList();arrayList.add("jack");arrayList.add(10);arrayList.add(23);System.out.println("判断多个元素是否存在" + list.containsAll(arrayList));System.out.println(list);// removeAll 一次性删除多个元素,哪个对象对应上,就删除哪个,而且是不论重复的个数,全部删除list.removeAll(arrayList);System.out.println("删除多个后的数据为:" + list);}
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# OpenCvSharp+DlibDotNet 人脸替换 换脸

效果 Demo下载 项目 VS2022.net4.8OpenCvSharp4DlibDotNet 相关介绍参考 代码 using DlibDotNet; using OpenCvSharp.Extensions; using OpenCvSharp; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Dra…

二叉树--C语言实现数据结构

本期带大家一起用C语言实现二叉树🌈🌈🌈 1、二叉树的定义 二叉树是一种特殊的树状数据结构,它由节点组成,每个节点最多有两个子节点,分别称为左子节点和右子节点 二叉树的链式存储结构是指用 链表 来表示…

【数据结构】二叉树详解(1)

⭐️ 前言 ✨ 二叉树的概念性质 ⭐️ 二叉树链式结构的实现 结构定义&#xff1a; #include <stdio.h> #include <stdlib.h> #include <assert.h>typedef int BinaryTreeDataType;typedef struct BinaryTreeNode {BinaryTreeDataType value;struct Binary…

【Python统计与数据分析实战_01】位置与分散程度的度量

数据描述性分析 1.描述统计量1.1 位置与分散程度的度量1.1.1 例子一 单维数组1.1.2 例子二 多维数组 1.2 关系度量1.3 分布形状的度量1.3.1 统计量&#xff1a;偏度和峰度 1.4 数据特性的总括 1.描述统计量 数据的统计分析分为统计描述和统计推断两部分。前者通过绘制统计图、…

港联证券-尾盘集合竞价拉升意味着什么意思?

在股票市场中&#xff0c;尾盘集合竞价是指每个交易日的最后几分钟&#xff0c;即下午14:57到3:00之间的交易。在这段时间内&#xff0c;所有股票的买卖都将以竞价的方式进行&#xff0c;最终价格以最高买价与最低卖价的平均值确定&#xff0c;成交量也将作为当日的收盘价和成交…

Django实现接口自动化平台(十三)接口模块Interfaces序列化器及视图【持续更新中】

相关文章&#xff1a; Django实现接口自动化平台&#xff08;十二&#xff09;自定义函数模块DebugTalks 序列化器及视图【持续更新中】_做测试的喵酱的博客-CSDN博客 本章是项目的一个分解&#xff0c;查看本章内容时&#xff0c;要结合整体项目代码来看&#xff1a; pytho…

SQL语句GROUP BY、HAVING、EXISTS、SQL函数(Null判断、日期相关、计算数值和字符串操作 )

目录 GROUP BY HAVING EXISTS SQL函数 Null判断函数 日期数据类型及函数 计算数值和字符串操作函数 AVG(平均值) COUNT(数据条数) FIRST/LAST(第一条数据) MAX/MIN(最大值) SUM(列总和) UCASE/ LCASE (转换大小写) MID(截取字符串) LEN(字符值的长度) ROUND(数…

学习记录——SpectFormer、DilateFormer、ShadowFormer

SpectFormer: Frequency and Attention is what you need in a Vision Transformer, arXiv2023 频域混合注意力SpectFormer 2023 论文&#xff1a;https://arxiv.org/abs/2304.06446 代码&#xff1a;https://badripatro.github.io/SpectFormers/ 摘要视觉变压器已经成功地应用…

nginx基础2——配置文件详解(网页配置篇)

文章目录 一、基本了解二、nginx.conf配置参数2.1 调试参数2.2 必配参数2.3 优化性能参数2.4 event{}段配置参数2.5 网络连接参数2.6 fastcgi配置参数2.7 总结常配参数 三、http{}段配置参数3.1 配置结构3.2 精简配置网页3.3 location定义网页3.3.1 root path用法3.3.1 alias p…

哪些方法可以一键批量查询快递单号

想做好电商或者物流行业&#xff0c;可千万不能虎头蛇尾&#xff0c;前端的高效并不够&#xff0c;我们还要做好后端的及时跟踪维护。当大量快递集中发出之后&#xff0c;我们必须及时地跟踪物流信息&#xff0c;掌握快递的动态&#xff0c;小编今天要和大家安利一款实用的辅助…

Linux系统部署Tomcat详细教程(图文讲解)

前言&#xff1a;本篇博客教大家如何一步一步使用Linux系统去部署自己的Tomcat服务器&#xff0c;每一行代码都是我自己严格执行过的&#xff0c;共分为了8点进行阐述&#xff0c;逻辑清晰&#xff01; 目录 一、安装JDK环境 二、准备Tomcat安装包 三、安装Tomcat 四、配置…

Nuxt.js--》解密Nuxt.js:构建优雅、高效的现代化Vue.js应用

博主今天开设Nuxt.js专栏&#xff0c;带您深入探索 Nuxt.js 的精髓&#xff0c;学习如何利用其强大功能构建出色的前端应用程序。我们将探讨其核心特点、灵活的路由系统、优化技巧以及常见问题的解决方案。无论您是想了解 Nuxt.js 的基础知识&#xff0c;还是希望掌握进阶技巧&…