Java 删除数组的头部元素,尾部元素,数组中的特定值
2023-09-11 14:22:56 时间
删除数组的头部元素,尾部元素,数组中的特定值
例如,数组{1,2,3,3,6,4,5,6,6,6,6},删除头部元素,结果:{2,3,3,6,4,5,6,6,6,6}
数组{1,2,3,3,6,4,5,6,6,6,6},删除尾部元素,结果:{1,2,3,3,6,4,5,6,6,6}
数组{1,2,3,3,6,4,5,6,6,6,6},删除数组中元素6,结果: {1,2,3,3,4,5}
package com.wysheng.src1;
import java.util.Arrays;
/**
* @author Wang Yongsheng
* @version 1.0
* @date 2021/10/16 13:58
*/
public class TestDemo03 {
//删除头部
public static int[] removeHead(int[] arr) {
if(arr == null) {
return null;
}
for (int i = 0; i < arr.length - 1; i++) {
arr[i] = arr[i + 1];
}
int[] brr = new int[arr.length - 1];
for (int i = 0; i < arr.length - 1; i++) {
brr[i] = arr[i];
}
return brr;
}
//删除尾部
public static int[] removeTail(int arr[]) {
if(arr == null) {
return null;
}
int[] brr = new int[arr.length - 1];
for (int i = 0; i < brr.length; i++) {
brr[i] = arr[i];
}
return brr;
}
//删除特定值
public static int[] removeValue(int[] arr, int value) {
//安全检测
if (arr == null) {
return null;
}
int count = 0;
for (int i = 0; i < arr.length - count; ) {
if (arr[i] == value) {
count++;
for (int j = i + 1; j < arr.length; j++) {
arr[j - 1] = arr[j];
}
} else {
i++;
}
}
arr = Arrays.copyOf(arr,arr.length - count);
return arr;
}
public static void main(String[] args) {
int[] arr1 = {1,2,3,3,6,4,5,6,6,6,6};
System.out.println("------删除头部元素------");
int[] brr = removeHead(arr1);
System.out.println(Arrays.toString(brr));
System.out.println("------删除尾部元素------");
int[] arr2 = {1,2,3,3,6,4,5,6,6,6,6};
int[] crr = removeTail(arr2);
System.out.println(Arrays.toString(crr));
System.out.println("------删除特定元素------");
int[] arr3 = {1,2,3,3,6,4,5,6,6,6,6};
arr3 = removeValue(arr3, 6);
System.out.println(Arrays.toString(arr3));
}
}
运行结果:
相关文章
- 启动tomcat服务器,配置CATALINA_HOME和JAVA_HOME
- java 数组中求最值
- Java并发编程(07):Fork/Join框架机制详解
- Java之戳中痛点 - (6)避免类型自动转换,例如两个整数相除得浮点数遇坑
- 【LeetCode-面试算法经典-Java实现】【033-Search in Rotated Sorted Array(在旋转数组中搜索)】
- 解决Cannot deserialize instance of `java.util.ArrayList<java.lang.Object>` out of VALUE_STRING
- java面试题总结
- 【Java】+删除String数组中的所有空值
- Java数组,超详细整理,适合新手入门
- jni java与c++交互返回三维数组jobjectArray
- java基本数据类型转换成byte[]数组
- Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,java 判断请求是不是ajax请求
- Java中如何把两个数组合并为一个
- Java高手速成│实战:应用数据库和GUI开发产品销售管理软件(2)
- 实操代码研究各种Java技术-java.toutiao.im
- Java数组List换算方法
- JAVA数组的定义及用法
- Java学习路线:day7 数组2
- java获取当前方法
- Java小白入门200例61之java中Date日期类型的大小比较