【QA】Java集合常用的函数

文章目录

  • 前言
  • Collection接口
    • 通用函数 | Collections工具类
    • 通用函数 | List接口 + Set接口
    • List接口
      • ArrayList
      • LinkedList
    • Set接口
      • TreeSet
      • HashSet
      • LinkedHashSet
  • Map接口
    • 通用函数
    • TreeMap
    • HashMap
    • LinkedHashMap

前言

本文介绍Java集合中常用的函数。

Collection接口

通用函数 | Collections工具类

image-20231018162535633

通用函数 | List接口 + Set接口

通用函数,均与索引无关。

方法作用
public boolean add(E e)
public boolean remove(E e)
public void clean()删完
public boolean contains(Object obj)包含
public boolean isEmpty()判空
public int size()返回集合的元素数量

remove()contains()两个函数依赖对象底层的equals()方法

  • 若对象没有重写equals()方法,比较的是地址值,无法按照要求删除
  • 需要重写该方法,让对象比较属性值是否一致

List接口

ArrayList

ArrayList的创建:

List<Integer> al = new ArrayList<Integer>;List<List<Integer>> al = new ArrayList<List<Integer>>;			// 这种创建方式是对的List<List<Integer>> al = new ArrayList<ArrayList<Integer>>;		// 这种创建方式是错的

方法(均与索引有关):

函数功能
public void add(int index, E element);
public E remove(int index);
public E set(int index, E element);
public E get(int index);

示例:

package com.itheima.collection.list;import java.util.ArrayList;
import java.util.List;public class ListDemo1 {public static void main(String[] args) {List<String> list = new ArrayList<>();list.add("张三");list.add("李四");list.add("王五");list.set(0, "赵六");list.remove(1);		// 根据索引删除:List接口的特点,传入的参数是int类型的索引System.out.println(list.get(0));System.out.println(list);System.out.println("-------------------------");List<Integer> list2 = new ArrayList<>();list2.add(111);        // Integer e = 111;list2.add(222);list2.add(333);list2.remove(Integer.valueOf(222));		// 根据元素删除,需要这样写,以跟索引删除的方法区分开System.out.println(list2);}
}
  • 根据索引删除元素:是List接口(子)的特点

  • 根据元素删除元素:是Collection接口(父)的特点

LinkedList

函数功能
public void add(int index, E element);
public void addFirst(E e);
public void addLast(E e)
public E remove(int index);
public E removeFirst()
public E removeLast()
public E set(int index, E element);
public E get(int index);
public E getFirst()
public E getLast()

Set接口

TreeSet

函数功能
boolean addAll(Collection<? extends E> c)
通用方法里面,针对对象的删除
删 + 增改(移除元素并重新添加)
E first()
E last()

HashSet

函数功能
通用方法里面,按照元素的增
通用方法里面,按照元素的删
删 + 增
不具备

LinkedHashSet

用到再说

Map接口

通用函数

函数操作
V put(K, key, V value)
V remove(Object key)
void clear()
boolean containsKey(Object key)包含
boolean containsValue(Obejct value)
boolean isEmpty()判空
int size()返回集合中元素的数量

TreeMap

函数功能
通用方法里面的
通用方法里面的
删 + 增

HashMap

函数功能
通用方法里面的
通用方法里面的
删 + 增
V get(Object k)V getOrDefault(Object k, V Default_Value)

LinkedHashMap

用到再说

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

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

相关文章

WP All Import Pro插件下载 - 一键导入,无限可能

在当今快节奏的数字时代&#xff0c;网站内容的更新和管理是每个网站管理员和开发者的日常工作。但是&#xff0c;传统的手动更新方法不仅耗时&#xff0c;而且容易出错。现在&#xff0c;有了WP All Import Pro&#xff0c;这一切都将改变。 WP All Import Pro 是一款专为Wor…

ABAP ZCL_EXCEL 实际用的案例 对账单

ABAP ZCL_EXCEL 实际用的案例 FORM GETITEMSANDOUTPUT USING PGS_HEAD TYPE GSHEAD.DATA:FILENAME TYPE STRING.DATA:LKUNNR TYPE KNA1-KUNNR.DATA:PROW TYPE I.DATA:LSDATE TYPE STRING.DATA:SUMXSJE TYPE DMBTR,ZYMYE TYPE DMBTR, "月末余额SUMBYXSYE TYPE DMBT…

全新神经网络架构KAN——本文用于学习与探索

论文地址&#xff1a;https://arxiv.org/pdf/2404.19756 Github&#xff1a;GitHub - KindXiaoming/pykan: Kolmogorov Arnold Networks 文档说明&#xff1a;Welcome to Kolmogorov Arnold Network (KAN) documentation! — Kolmogorov Arnold Network documentation 本文仅…

二手交易系统基于Uniapp+FastAdmin+ThinkPHP(源码搭建/上线/运营/售后/更新)

​一款基于UniappFastAdminThinkPHP开发的二手交易系统&#xff0c;卖家可以发布二手信息&#xff0c;买家可以在线询价&#xff0c;支持在线聊天(高级授权)&#xff0c;在线购买支付&#xff0c;支持发布高价回收(高级授权)信息。自带社交板块&#xff0c;用户可以发布帖子、加…

Prompt|Kimi高阶技巧,99%的人都不知道

大家好&#xff0c;我是无界生长。 今天分享一条咒语&#xff0c;轻松让Kimi帮你生成流程图&#xff0c;学会了的话&#xff0c;点赞收藏起来吧&#xff01; 效果展示 我们演示一下让kimi帮忙绘制 关注微信公众号“无界生长”的流程图&#xff0c;最终效果图如下所示 效果还不…

针对 % 号 | 引起的 不安全情况

把网站开放的课程都检索下来了 一、情况1 org.apache.tomcat.util.http.Parameters processParameters 信息: Character decoding failed. Parameter [Mac] with value [%%%] has been ignored. Note that the name and value quoted here may be corrupted due to the failed…

数组元素翻倍C++

编写一个 C 程序&#xff0c;实现一个功能&#xff0c;即将数组中的每个元素值翻倍。程序应定义一个函数 doubleArray&#xff0c;该函数接收一个整数数组的指针和数组的大小&#xff0c;然后将数组中的每个元素都翻倍。 代码 #include <iostream>void doubleArray(int…

红帽为 Red Hat OpenShift AI 扩大与 Elasticsearch 向量数据库的合作

作者&#xff1a;来自 Elastic Aditya Tripathi 红帽和 Elastic 今天宣布开展合作&#xff0c;以便在 Red Hat OpenShift AI 上集成 Elasticsearch 向量数据库。 Red Hat OpenShift 用户现在可以通过红帽生态系统目录实施 Elasticsearch 以进行向量搜索和检索增强生成 (RAG) 应…

商机来了你能抓住吗?2024新商机!2024创业新风口!2024创业项目小成本!2024创业干什么最赚钱?

19世纪末&#xff0c;美国加利福尼亚州发现了黄金&#xff0c;出现了淘金热。有一位17岁的少年来到加州&#xff0c;是想加入淘金者的队伍&#xff0c;可看到金子没那么好淘&#xff0c;淘金的人很野蛮&#xff0c;他很害怕。这时&#xff0c;他看到淘金人在炎热的天气下干活口…

C++笔试强训day16

目录 1.字符串替换 2.神奇数 3.DNA序列 1.字符串替换 链接 简单的遍历替换即可&#xff1a; class Solution { public:string formatString(string str, vector<char>& arg) {string ret;int k 0;for (int i 0; i < str.size(); i){if (str[i] %){ret arg…

Windows10搭建GPU版Darknet—yolov4—VS2022+CUDA+CUDNN(亲测有效)

1 VS2019安装 网址&#xff1a;Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器 下载完成之后双击.exe文件 步骤严格如下安装 默认语音包为中文&#xff08;简体&#xff09; 安装位置可以自行选择&#xff0c;完成以后就可以点击安装了。 安装完毕以后需要重启…

464. 我能赢吗

464. 我能赢吗 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;参考代码&#xff1a;_464我能赢吗_记忆化dp 错误经验吸取 原题链接&#xff1a; 464. 我能赢吗 https://leetcode.cn/problems/can-i-win/description/ 完成情况&#xff1a; 解题思路&#x…

【Go】Go Swagger 生成和转 openapi 3.0.3

本文档主要描述在 gin 框架下用 gin-swagger 生成 swagger.json 的内容&#xff0c;中间猜的坑。以及&#xff0c;如何把 swagger 2.0 转成 openapi 3.0.3 下面操作均在项目根目录下执行 生成 swagger 2.0 import swagger go get -u github.com/swaggo/gin-swagger go get …

炫酷个人主页(源码免费)

炫酷个人主页 效果图部分代码领取源码下期更新预报 效果图 部分代码 <!DOCTYPE html> <!--哪怕是深爱之人 对我们的痛苦一无所知&#xff01;* ░░░░░░░░░░░░░░░░░░░░░░░░▄░░* ░░░░░░░░░▐█░░░░░░░░░░░▄▀▒▌░* ░…

Jenkins android 自动打包安卓 centos8.5 运维系列五

1 新建项目android #cat android.sh #!/bin/bash rm -rf /data/.jenkins/workspace/android/app/build/outputs/apk/debug/* rm -rf /data/.jenkins/workspace/android/app/build/outputs/apk/release/* cd /data/.jenkins/workspace/android/app source /etc/profile g…

一文读懂:架构图类型、设计方法(内附大量案例)

架构图是一种用于描述和展示软件系统或应用程序的结构和组成的图形表示。它通常包括系统的各个组件、模块、接口、数据流等元素&#xff0c;并显示它们之间的关系和交互。 一、架构图的类型 架构图有多种类型&#xff0c;常见的几种类型包括&#xff1a; 高层架构图&#xff0…

政安晨【零基础玩转各类开源AI项目】:基于Ubuntu系统本地部署使用GPT-SoVITS进行语音克隆与TTS语音生成

目录 介绍 什么是TTS 安装Miniconda 框架功能 测试通过的环境 开始 1. 安装好miniconda 2. 进入下载的GPT-SoVITS目录 3. 创建虚拟环境并执行脚本 4. 执行过程中可能会出错 5. 下载预训练模型 6. 训练过程中可能会报错 7. 使用过程中可能出错 8.以下是使用全过程…

JavaEE技术之MySql主从复制及mycat[了解,不讲]

文章目录 1. 主从复制1.1. 主从同步的原理1.2. 检查数据库远程访问权限1.3. 主从配置1.3.1. master配置1.3.2. slave配置1.3.3. 主库创建同步用户1.3.4. 从库配置主从关系1.3.5. 重置主从关系 1.4. 测试主从复制 2. Mycat2.1. Mycat简介2.2. MyCat读写分离原理2.3. 不废话&…

代码随想录day63 | 单调栈P3 | ● 84.

84.柱状图中最大的矩形 给定 n 个非负整数&#xff0c;用来表示柱状图中各个柱子的高度。每个柱子彼此相邻&#xff0c;且宽度为 1 。 求在该柱状图中&#xff0c;能够勾勒出来的矩形的最大面积。 示例 1: 输入&#xff1a;heights [2,1,5,6,2,3] 输出&#xff1a;10 解释&a…

docker部署minio和业务服务因变更minio密码导致访问不到图片的问题

问题起因 业务application和minio都是docker部署。按部署规则minio的环境变量中设置了MINIO_ROOT_USER和MINIO_ROOT_PASSWORD。这样就可以用这套用户名密码登录minio了。而我的application中是通过api访问minio获取资源URL&#xff0c;提供给前端的。所以在application的环境变…