博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
删除数组元素,空指针问题
阅读量:3940 次
发布时间:2019-05-24

本文共 1500 字,大约阅读时间需要 5 分钟。

删除某些要求的数组元素,并将数组所有元素前移

判断数组元素是否为空,应该避免String类型为null,造成空指针的问题,可加入一个判断来避免String[index]为空的情况,也可用下面的"a".equals(strings[index])来避免空指针问题,且更加简便。
在这里插入图片描述

package com.javasm.array;import java.util.Arrays;/** * @author: JAVASM * @classNAME: ArrayDemo06 * @description: * @date: 2021/3/29 20:54 * @version:0.1 * @since:1.8 */public class ArrayDemo06 {
public static void main(String[] args) {
//删除数组元素 String[] strings = {
"a", "b", "c", "a", "c", "a", "hello"};//正确结果为"b", "c", "a", "c", "a", "hello" null //[null,b,c,a] //删除数组里面所有的a元素 换成null //数组元素必须是连贯的 后面元素移动位置 //第一层for循环用于遍历数组 for (int index = 0, len = strings.length; index < len; index++) {
if ("a".equals(strings[index])) {
//如果当前的元素为要删除的元素,则后面元素依次移位 //第二层for循环用于当有要删除的元素时,将后面的的元素全部向前移动 for (int i = index; i < len - 1; i++) {
strings[i] = strings[i + 1]; } //数组元素前移,前面的元素都被覆盖了,但是最后一个数组元素仅是移动了,移后数组元素的值依旧存在,因此需要置空 strings[len - 1] = null; //当一个元素被删除后,后面的元素往前补充,则依旧需要从当前元素开始比较,但是循环外有index++, // 所以需要先index--,才能保证不错过检验前移的元素是否是需要删除的元素 if ("a".equals(strings[index])) {
index--; } } } System.out.println(Arrays.toString(strings)); //[null, b, null, hello, c, null, null] }}程序输出结果如下:[b, c, c, hello, null, null, null]Process finished with exit code 0

转载地址:http://cknwi.baihongyu.com/

你可能感兴趣的文章
3.7.4 - Indexing and Slicing Strings
查看>>
3.7.5 - Modifying Strings
查看>>
3.7.6 - String Methods
查看>>
3.8 - Using the Print Function
查看>>
3.9.1 - Lists in Python
查看>>
3.9.2 - Lists - Adding and Removing Objects
查看>>
3.9.3 - Sorting Lists
查看>>
3.10 - Maya Commands: ls
查看>>
3.11 - Dictionaries in Python
查看>>
3.12 - Tuples in Python
查看>>
4.4 - For Loops
查看>>
4.2.2 - Logical and/or Operators
查看>>
Lesson 4 Part 2 Softmax Regression
查看>>
文章中运用到的数学公式
查看>>
Projective Dynamics: Fusing Constraint Projections for Fast Simulation
查看>>
从2D恢复出3D的数据
查看>>
glm 中 数据类型 与 原始数据(c++ 数组)之间的转换
查看>>
Derivatives of scalars, vector functions and matrices
查看>>
the jacobian matrix and the gradient matrix
查看>>
VS2010 将背景设为保护色
查看>>