package org.company.project.test
import java.util.Arrays
import java.util.Scanner
public class ArraysDelete { public static void main(String[] args) {
//把最后一个元素替代指定的元素,然后数组缩容
Scanner sc =new Scanner(System.in)
int[] arr = new int[]{1,2,4,5,9,8,0}
System.out.println(Arrays.toString(arr))
System.out.println("请输入要删除第几个元素:")
int n = sc.nextInt()sc.close()
//把最后一个元素替代指定的元素
arr[n-1] = arr[arr.length-1]
//数组缩容
arr = Arrays.copyOf(arr, arr.length-1)
System.out.println(Arrays.toString(arr))
} }
运行结果:
[1, 2, 4, 5, 9, 8, 0]
请输入要删除第几个元素:
3
[1, 2, 0, 5, 9, 8]
String str = dianjia2,wang,dianjiaString str1 = dianjia2,dianjia
如上面两个字符串,如何根据str1的字段来删除str中相同的字段,最后得到的结果是wang.
解决代码:
public static void main(String[] args){
String[] a = new String[]{"1","5","3","7"}
String[] b = new String[]{"2","3","4"}
String[] arrResult = arrContrast(a, b)
for (String strResult : arrResult) {
System.out.println("最后的结果:----------->" + strResult)
}
}
//处理数组字符
private static String[] arrContrast(String[] arr1, String[] arr2){
List<String>list = new LinkedList<String>()
for (String str : arr1) {//处理第一个数组,list里面的值为1,2,3,4
if (!list.contains(str)) {
list.add(str)
}
}
for (String str : arr2) { //如果第二个数组存在和第一个数组相同的值,就删除
if(list.contains(str)){
list.remove(str)
}
}
String[] result = {} //创建空数组
return list.toArray(result) //List to Array
}