【Java开源代码栏目提醒】:本文主要为网学会员提供TextDelRepeat.java,希望对需要TextDelRepeat.java网友有所帮助,学习一下!
package com.zf.s4;//创建一个包
public class TextDelRepeat {// 操作去掉数组中重复数字的类
public static int[] changeMethodOne(int src[]) {// 方法1 去掉重复数字//数组的长度有浪费
int length = src.length;// 获得传入数组的长度
int[] taget = new int[length];// 声明一个数组,长度为传入数组的长度
int index = 0;
taget[0] = src[0];// 设置数组的初始值
for (int i = 1; i < length; i++) {// 循环遍历传入数组
if (taget[index] != src[i]) {// 遍历数组与初始值进行比较
index++;// 等价于index=index+1
taget[index] = src[i];// 元素赋值
}
}
return taget;// 返回结果数组
}
public static int[] changeMethodTwo(int src[]) {// 方法2 去掉重复数字
int length = src.length;// 获得传入数组的长度
int[] tagetIndex = new int[length];// 声明一个数组,长度为传入数组的长度
int tagetLength = length;
for (int i = 0; i < length; i++) {// 初始化tagetIndex
tagetIndex[i] = 0;
}
for (int j = 1; j < length; j++) {// 记录重复的值
if (src[j] == src[j - 1]) {
tagetIndex[j] = 1;
tagetLength--;
}
}
int[] target = new int[tagetLength];// 声明数组,长度为传入数组长度-重复数字的个数
int index = 0;
for (int k = 0; k < length; k++) {// 循环将数组赋值
if (tagetIndex[k] == 0) {//数组元素等于1是存放重复数字
target[index++] = src[k];
}
}
return target;
}
public static void main(String[] args) {
int[] a = { 1, 1, 1, 2, 3, 4, 5, 6, 9, 9, 12, 53 };// 声明数组并初始他
int[] b = changeMethodOne(a);//调用第一种方法去掉重复数字
System.out.println("第一种方法去掉数组重复数字结果:");
for (int i = 0; i < b.length; i++) {//将返回的数组输出
System.out.print(b[i] + " ");
}
System.out.println();
System.out.println("第二种方法去掉数组重复数字结果:");
int c[] = changeMethodTwo(a);//调用第一种方法去掉重复数字
for (int i = 0; i < c.length; i++) {//将返回的数组输出
System.out.print(c[i] + " ");
}
}
}
上一篇:
TextDeleteFileAndDir.java
下一篇:
首页轮播3.jpg